Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » http-авторизаци¤ на php
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
peteK
Участник+

Зарегистрирован: Aug 2002
Место проживания: Новосибирск
Публикаций: 67
Статус: peteK в оф-лайне
http-авторизаци¤ на php [сообщение #32094]

платформа: windows
web-сервер: apache

при выполнении кода:

PHP:


if(!isset($PHP_AUTH_USER)) {
    
Header('WWW-Authenticate: Basic realm="'.$config['sitename'].' Control Panel"');
    
Header('HTTP/1.0 401 Unauthorized');
    echo 
'Login and Password needed';
    exit;
  }


получаю ошибку 500.
В логах:
malformed header from script. Bad header=HTTP/1.0 401 Unauthorized: f:/apache/php/php.exe

на linux машине код выше работает как надо. ыскакивает окно логин/пароль и и т.д. и т.п.

Чего может нехватать в настройках php или apache?

__________________
**censored**
Web Site Design and Development

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-01-2003 12:56
Нажмите сюда для просмотра профайла peteK Отправить Персональное сообщение peteK Посетить домашнию страничку peteK! Найти сообщения от peteK Добавить peteK в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Nevermind
Участник+
Средний рейтинг: 4 | Оценок: 7
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания: RU, VLadivostok
Публикаций: 145
Статус: Nevermind в оф-лайне
[сообщение #32102]

А пхп как модуль стоит? Из мануала:

quote:
The HTTP Authentication hooks in PHP are only available when it is running as an Apache module and is hence not available in the CGI version.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-01-2003 15:14
Нажмите сюда для просмотра профайла Nevermind Отправить Персональное сообщение Nevermind Найти сообщения от Nevermind Добавить Nevermind в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
peteK
Участник+

Зарегистрирован: Aug 2002
Место проживания: Новосибирск
Публикаций: 67
Статус: peteK в оф-лайне
[сообщение #32118]

эмм... спасибо, все заработало..
просто в install.txt для php, написано в httpd.conf добавить

# for the apache module
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php4

#for the cgi binary (you can use that one compiled with force cgi redirect too)
ScriptAlias /php4/ "C:/php/"
Action application/x-httpd-php4 "/php4/php.exe"
AddType application/x-httpd-php4 .php

НО НАДО ТО ТОЛЬКО первые три (точнее две - без комментариев) строки.

__________________
**censored**
Web Site Design and Development

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 26-01-2003 16:22
Нажмите сюда для просмотра профайла peteK Отправить Персональное сообщение peteK Посетить домашнию страничку peteK! Найти сообщения от peteK Добавить peteK в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Tagore
Сибиряк
Средний рейтинг: 3.58 | Оценок: 31
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус: Tagore в оф-лайне
Arrow Не совсем то, что тебе надо [сообщение #32536]


PHP:

<?php
//auth_user.php
include "./common_db.inc";
$register_script = "./register.php";

function 
auth_user($userid, $userpassword) {
   global 
$default_dbname, $user_tablename;
  
   
$link_id = db_connect($default_dbname);
   
$query = "SELECT username FROM $user_tablename 
                             WHERE userid = '
$userid' 
                             AND userpassword = password('
$userpassword')";
   
$result = mysql_query($query);
   if(!
mysql_num_rows($result)) return 0;
   else {
      
$query_data = mysql_fetch_row($result);
      return 
$query_data[0];
   }
}

function 
login_form() {
   global 
$PHP_SELF;
?>
<HTML>
<HEAD>
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="<? echo $PHP_SELF ?>">
   <DIV ALIGN="CENTER"><CENTER>
      <H3>Please log in to access the page you requested.</H3>
   <TABLE BORDER="1" WIDTH="200" CELLPADDING="2">
      <TR>
         <TH WIDTH="18%" ALIGN="RIGHT" NOWRAP>ID</TH>
         <TD WIDTH="82%" NOWRAP>
            <INPUT TYPE="TEXT" NAME="userid" SIZE="8">
         </TD>
      </TR>
      <TR>
         <TH WIDTH="18%" ALIGN="RIGHT" NOWRAP>Password</TH>
         <TD WIDTH="82%" NOWRAP>
            <INPUT TYPE="PASSWORD" NAME="userpassword" SIZE="8">
         </TD>
      </TR>
      <TR>
         <TD WIDTH="100%" COLSPAN="2" ALIGN="CENTER" NOWRAP>
            <INPUT TYPE="SUBMIT" VALUE="LOGIN" NAME="Submit">
         </TD>
      </TR>
   </TABLE>
   </CENTER></DIV>
</FORM>
</BODY>
</HTML>
<?
}

session_start();
if(!isset(
$userid)) {
   
login_form();
   exit;
}
else {
   
session_register("userid", "userpassword");
   
$username = auth_user($userid, $userpassword);
   if(!
$username) {
      
session_unregister("userid");
      
session_unregister("userpassword");
      echo 
"Authorization failed. " .
           
"You must enter a valid userid and password combo. " .
           
"Click on the following link to try again.<BR>\n";
      echo 
"<A HREF=\"$PHP_SELF\">Login</A><BR>";
      echo 
"If you're not a member yet, click " .
           
"on the following link to register.<BR>\n";
      echo 
"<A HREF=\"$register_script\">Membership</A>";
      exit;
   }
   else echo 
"Welcome, $username!";
}
?>

__________________
Международное брачное агенство в Сибири.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-01-2003 09:32
Нажмите сюда для просмотра профайла Tagore Отправить Персональное сообщение Tagore Посетить домашнию страничку Tagore! Найти сообщения от Tagore Добавить Tagore в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Nevermind
Участник+
Средний рейтинг: 4 | Оценок: 7
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания: RU, VLadivostok
Публикаций: 145
Статус: Nevermind в оф-лайне
[сообщение #32561]

Tagore,
А где здесь http-авторизация?

По коду замечание - лучше для работы с сессиями использовать массив $_SESSION, т.е. вбивать в него переменные напрямую без session_register(); во избежание возможных глюков (были прецеденты).

+ хороший тон -> делать mysql_free_result и закрывать соединение с базой из скрипта. Без обид

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-01-2003 12:55
Нажмите сюда для просмотра профайла Nevermind Отправить Персональное сообщение Nevermind Найти сообщения от Nevermind Добавить Nevermind в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #32585]

quote:
session_register("userid", "userpassword");

...нафига? тем более пасворд...

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-01-2003 15:30
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #32586]

кстати в php 4.1.3 $_SESSION не работает.

polo добавил 29-01-2003 в 15:34:32:
точнее он не работает при создании нового элемента массива, не записывается.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-01-2003 15:33
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
SCHIZO
STFW
Средний рейтинг: 5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Jul 2002
Место проживания: Кольский п-ов
Публикаций: 305
Статус: SCHIZO в оф-лайне
[сообщение #32595]

...не видно (и даже в комментариях не упомянуто)в каком месте данные проверяются..
результат может быть плачевным

PHP:


$query 
= "SELECT username FROM $user_tablename
WHERE userid = '
$userid'
AND userpassword = password('
$userpassword')";



вместо переменной $userid можно отправить через форму что-то типа DELETE * FROM tablename... или REPLACE ... или еще чего нибудь SQL`ное

одним словом SQL injection

__________________
FAQ OFF

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 29-01-2003 15:57
Нажмите сюда для просмотра профайла SCHIZO Отправить Персональное сообщение SCHIZO Посетить домашнию страничку SCHIZO! Найти сообщения от SCHIZO Добавить SCHIZO в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Tagore
Сибиряк
Средний рейтинг: 3.58 | Оценок: 31
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус: Tagore в оф-лайне
[сообщение #32666]

Nevermind
Да знаю, знаю. Хотел просто хоть может кому понадобиться если.

__________________
Международное брачное агенство в Сибири.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 30-01-2003 07:48
Нажмите сюда для просмотра профайла Tagore Отправить Персональное сообщение Tagore Посетить домашнию страничку Tagore! Найти сообщения от Tagore Добавить Tagore в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 07:16.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.62575507 seconds (99.15% PHP - 0.85% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.