jquery — пройти авторизацию PHP по коду

Можно ли пройти PHP авторизацию по коду?
Я также видел авторизацию в запросе jQuery ajax, с авторизацией ajax можно ли пройти авторизацию PHP?

Я получаю результат страницы по запросу ajax и получаю результат, нет, если я добавлю этот код в начало PHP-скрипта:

$valid_passwords = array ("admin" => "123456");
$valid_users = array_keys($valid_passwords);

$user = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];

$validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);

if (!$validated) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
die ("Not authorized");
}

Теперь он хочет поставить пользователя и пароль. Можно ли поставить логин и пароль по коду? В запросе ajax есть что-то для авторизации, можно ли это использовать для этого?

1

Решение

Вы можете передать пользователя & Паас в URL, как пара

http://username:[email protected]
2

Другие решения

Конечно да. Заглянуть в функции cURL. PS, вы получите лучший ответ, если вы разместите больше информации.

РЕДАКТИРОВАТЬ…

Для аутентификации пользователя в удаленной системе вам необходимо знать, как выполняется аутентификация. Чаще всего вам нужно использовать CURL, чтобы разместить имя пользователя и пароль на странице входа в систему и сохранить cookie, который он отправляет обратно для будущих вызовов curl.

function Request($url,$params=array()){
$cookiefile = "/path/to/textfile";
if(!file_exists($cookiefile)){
@fopen($cookiefile, "w");
if(!file_exists($this->cookiefile)){
echo 'Cookie file missing. '.$cookiefile; exit;
}
}else if(!is_writable($cookiefile)){
echo 'Cookie file not writable. '.$cookiefile; exit;
}
$ch = curl_init();
$curlOpts = array(
CURLOPT_URL             => $url,
CURLOPT_USERAGENT       => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0',
CURLOPT_SSL_VERIFYPEER  => false,
CURLOPT_RETURNTRANSFER  => true,
CURLOPT_COOKIEJAR       => realpath($cookiefile),
CURLOPT_COOKIEFILE      => realpath($cookiefile),
CURLOPT_FOLLOWLOCATION  => true,
CURLOPT_HTTPHEADER      => array(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8""Connection: keep-alive",
"Content-Type: application/x-www-form-urlencoded")
);
if(!empty($params)){
$curlOpts[CURLOPT_POST] = true;
$curlOpts[CURLOPT_POSTFIELDS] = $params;
}
curl_setopt_array($ch,$curlOpts);
$answer = curl_exec($ch);
if (curl_error($ch)) {
echo curl_error($ch); exit;
}
curl_close($ch);
return (@gzdecode($answer)) ? gzdecode($answer) : $answer;
}
3

По вопросам рекламы [email protected]