Slayes Posted December 8, 2011 Share Posted December 8, 2011 Bonjour à tous, Je test actuellement PrestaShop chez ovh sur un mutualisé. J'ai lu sur le forum le problème lié à $_SERVER['PHP_AUTH_USER']. En bref quelqu'un serait'il me dire ce qui ne va pas pas dans cette regle ? RewriteRule ^api/?(.*)$ /PrestaShop/webservice/dispatcher.php?url=$1 [E=REMOTE_USER:%{HTTP:Authorization},QSA,L] Puis je le traite come ça : if((!$_SERVER['PHP_AUTH_USER'] || !$_SERVER['PHP_AUTH_USER']) && preg_match('/Basics+(.*)$/i', $_SERVER['REMOTE_USER'], $matches)) { list($name, $password) = explode(':', base64_decode($matches[1])); $_SERVER['PHP_AUTH_USER'] = strip_tags($name); $_SERVER['PHP_AUTH_PW'] = strip_tags($password); } if (isset($_SERVER['PHP_AUTH_USER'])) $key = $_SERVER['PHP_AUTH_USER']; elseif (isset($_GET['ws_key'])) $key = $_GET['ws_key']; else { header($_SERVER['SERVER_PROTOCOL'].' 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required."'); die; } Mais cela ne donne rien de bon, si quelqu'un a une idée ? Link to comment Share on other sites More sharing options...
Slayes Posted December 8, 2011 Author Share Posted December 8, 2011 Auto réponse Bien galéré, du coup je met la soluce trouvée : Créer un ".htaccess" dans le dossier "webservice", contenant : <IfModule mod_rewrite.c> RewriteEngine on RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L] </IfModule> Modifier les lignes du fichier "webservice/dispatcher.php", contenant : // Use for image management (using the POST method of the browser to simulate the PUT method) $method = isset($_REQUEST['ps_method']) ? $_REQUEST['ps_method'] : $_SERVER['REQUEST_METHOD']; if (isset($_SERVER['PHP_AUTH_USER'])) $key = $_SERVER['PHP_AUTH_USER']; elseif (isset($_GET['ws_key'])) $key = $_GET['ws_key']; else { header($_SERVER['SERVER_PROTOCOL'].' 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required."'); die; } par // Use for image management (using the POST method of the browser to simulate the PUT method) $method = isset($_REQUEST['ps_method']) ? $_REQUEST['ps_method'] : $_SERVER['REQUEST_METHOD']; if(!isset($_SERVER['PHP_AUTH_USER']) && preg_match('/Basic\s+(.*)$/i',$_SERVER['REMOTE_USER'],$matches)){ list($name,$pass)=explode(':',base64_decode($matches[1])); $_SERVER['PHP_AUTH_USER']=strip_tags($name); } if (isset($_SERVER['PHP_AUTH_USER'])) $key = $_SERVER['PHP_AUTH_USER']; elseif (isset($_GET['ws_key'])) $key = $_GET['ws_key']; else { header($_SERVER['SERVER_PROTOCOL'].' 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Welcome to PrestaShop Webservice, please enter the authentication key as the login. No password required."'); die; } En espérant que ca puisse éviter une tite nuit blanche à d'autre 1 Link to comment Share on other sites More sharing options...
mizou125 Posted May 26, 2013 Share Posted May 26, 2013 Merci, j'ai passé plusieurs nuit blanches avant de trouver ton astuce Merci encore Link to comment Share on other sites More sharing options...
madimax Posted January 10, 2015 Share Posted January 10, 2015 Bonjour, j'ai ce même problème sur un hébergement ovh mutualisé et un prestashop 1.6 J'ai testé ce script et cela ne fonctionne pas. J'ai vu sur le forum ovh ce problème, j'ai testé les recommendations mais toujours rien.Avez-vous une idée? Voilà ce qui a été fait : sur les serveur qui utilise fgci les variables PHP_AUTH_USER et PHP_AUTH_PW reste videil faut faire une regle de reecriture avec un header REMOTE_USER dans le .htaccessex :RewriteRule ^(.*) /index.php$1 [E=REMOTE_USER:%{HTTP:Authorization},L]et recuperé parif (!empty($_SERVER['REDIRECT_REMOTE_USER'] ))list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6))); Link to comment Share on other sites More sharing options...
Gaulois Posted March 23, 2020 Share Posted March 23, 2020 Merci Slayes, même problème en 2020 avec un VPS OVH et PrestaShop 1.7.6 => "401 Unauthorized - Welcome to PrestaShop Webservice, please enter the authentication key as the login." Ca marche parfaitement après avoir appliqué tes modifs 👍 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now