Для проверки доступа к модулям 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]