Подскажите почему я не могу зайти в модуль импорта и экспорт

Помощь пользователям в работе с программой E-Trade PriceList Importer
Ответить
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

09 окт 2009 10:49

Подскажите почему я не могу зайти во внешний модуль импорта и экспорта?

Для проверки доступа к модулям WebAsyst, HOSTCMS, VirtueMart, ShopCMS используется HTTP-Аутентификация. Аутентифика́ция (англ. Authentication) — проверка принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности.

HTTP-Аутентификация в PHP возможна только в том случае, когда он выполняется как модуль веб-сервера Apache, и, соответственно, недоступна для CGI-версии. Модуль использует функцию header() для того, чтобы отправить браузеру клиента сообщение "Authentication Required", что в свою очередь приведет к появлению диалогового окна для ввода имени пользователя и пароля. Скорей всего на вашем хостинге, PHP установлен модулем или как CGI (в последнем случае работа с HTTP-авторизацией из PHP-кода не поддерживается).

Если не получилось активировать режим работы PHP в качестве модуля веб-сервера Apache, можно закоментировать строки №39-48 в модуле etrade_ie_csv_webasyst_v1op.php или №21-39 для etrade_ie_for_virtuemart112_csv.php и т.п., это отключит проверку логина и пароля (HTTP-Аутентификацию).

Необходимо закоментировать строки, с использованием потокового комментария (/* текст для комметария */) или каждую строчку с использованием блокового комментария (//):

Код: Выделить всё

/* function auth_send(){
    header('WWW-Authenticate: Basic realm="Closed Zone"');
    header('HTTP/1.0 401 Unauthorized');
    echo "<html><body bgcolor=white link=blue vlink=blue alink=red>"
    ,"<h1>Ошибка аутентификации!</h1>"
    ,"</body></html>";
    exit;
};

if (!isset($_SERVER['PHP_AUTH_USER'])) {
   auth_send();
} else {
   $auth_user = $_SERVER['PHP_AUTH_USER'];
   $auth_pass = $_SERVER['PHP_AUTH_PW'];
   
   if (($auth_user != $login) || ($auth_pass != $password)) {
      auth_send();
   };
};*/


Еще один вариант решения.
1. Необходимо наличие модуля mod_rewrite для веб-сервера Apache (обычно есть всегда).
2. Добавить в файл .htaccess следующий код:

Код: Выделить всё

RewriteEngine On
RewriteCond %{HTTP:Authorization} !^$
RewriteCond %{REQUEST_URI} !(http_auth)
RewriteRule ^(.*)$ $1?http_auth=%{HTTP:Authorization} [QSA]
С уважением, поддержка ElbuzGroup.
Ответить

Вернуться в «Техническая поддержка программы E-Trade PriceList Importer»