Morgan » 2010.04.12 18:40

Авторизация на сайте по типу "HTTP/1.0 401 Unauthorized".
При вводе данных они не доступны в php скрипте.
php 5.2.2
Apache/1.3.41 (Unix) mod_perl/1.30 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.8b

Gemorroj » 2010.04.12 19:31

ну код давай, как маленький...)

Morgan » 2010.04.12 19:54

Код:

1
span style="color: #0000BB"><?phpif(empty($_SERVER['PHP_AUTH_USER']) || empty($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] != $mycfg['admin']['login'] || $_SERVER['PHP_AUTH_PW'] != $mycfg['admin']['password']) { header('WWW-Authenticate: Basic realm="ABC"'); header('HTTP/1.0 401 Unauthorized'); header('Content-type: text/html; charset=utf-8'); exit('<html><head><title>Ошибка авторизации</title></head><body><h1>Ошибка авторизации</h1></body></html>'); }?>
Gemorroj » 2010.04.12 20:18

все ок, вероятно, дело в $mycfg

Morgan » 2010.04.12 20:23

нет.
я в тексте "Ошибка авторизации" вставил print_r($_SERVER); там этмх индексов просто нет

Gemorroj » 2010.04.12 20:37

в каком месте ты вставил print_r ??

Morgan » 2010.04.12 20:38

<?php
if(empty($_SERVER['PHP_AUTH_USER']) || empty($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] != $mycfg['admin']['login'] || $_SERVER['PHP_AUTH_PW'] != $mycfg['admin']['password'])
  {
  header('WWW-Authenticate: Basic realm="ABC"');
  header('HTTP/1.0 401 Unauthorized');
  header('Content-type: text/html; charset=utf-8');
  print_r($_SERVER);
  exit('<html><head><title>Ошибка авторизации</title></head><body><h1>Ошибка авторизации</h1></body></html>');
  }
?>

Gemorroj » 2010.04.12 20:45

ну само собой там этих индексов нет, ты же сам в условии проверяешь.

Akdmeh » 2010.04.16 20:53

Бывает, если php не подключен как модуль cgi(или наоборот - уточни), то basic-авторизация невозможна...
Может это как раз тот случай?

Gemorroj » 2010.04.16 22:27

может) тогда следует искать данные тут $_SERVER['HTTP_AUTHORIZATION']