Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> autoryzacja
Łukasz Sandelews...
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.07.2003
Skąd: ślask

Ostrzeżenie: (0%)
-----


chce zrobic autoryzacje na stronie !!!
mam problem !!
po wpisaniu przykladu z manuala :


<html>
<head>
</head>
<body>
<?php
function authenticate() {
header( "WWW-Authenticate: Basic realm="Testowy system autoryzacji"");
header( "HTTP/1.0 401 Unauthorized");
echo "Musisz podać poprawny login i hasło by wejść na tę stronęn";
exit;
}

if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo "</p>Witaj: $PHP_AUTH_USER<br>";
echo "Poprzenio: $OldAuth";
echo "<form action="$PHP_SELF" METHOD=POST>n";
echo "<input type="hidden" name="SeenBefore" value="1">n";
echo "<input type="hidden" name="OldAuth" value="$PHP_AUTH_USER">n";
echo "<input type="submit" value="Re Authenticate">n";
echo "</form></p>n";
}
?>


</body>
</html>


wystepuje taki blad w :


Warning: Cannot add header information - headers already sent by (output started at c:apachehtdocsuwierzytelnianie.php:5)
in c:apachehtdocsuwierzytelnianie.php on line 7

Warning: Cannot add header information - headers already sent by (output started at c:apachehtdocsuwierzytelnianie.php:5)
in c:apachehtdocsuwierzytelnianie.php on line 8
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
eS...
post
Post #2





Grupa: Zarejestrowani
Postów: 367
Pomógł: 2
Dołączył: 4.03.2003
Skąd: C:/Windows/Temp

Ostrzeżenie: (0%)
-----


hmmm cos z header porombałes, tak wywnioskowałem z error'a , przepatrz jeszcze raz manuala
Go to the top of the page
+Quote Post
Seth
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


UZYWAJ BBCODE'U :!:
Temat kompletnie nie na PRO. Przenosze do Scrypty.
Go to the top of the page
+Quote Post
dob
post
Post #4





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


wysyłasz nagłówki po tekscie który trafia do przeglądarki (<head> <html> itp.) poczytaj w manualu o co chodzi z funkcją header
Go to the top of the page
+Quote Post
Łukasz Sandelews...
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.07.2003
Skąd: ślask

Ostrzeżenie: (0%)
-----


<?php
function authenticate() {
header( "WWW-Authenticate: Basic realm="Testowy system autoryzacji"");
header( "HTTP/1.0 401 Unauthorized");
echo "Musisz podać poprawny login i hasło by wejść na tę stronęn";
exit;
}

if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo "</p>Witaj: $PHP_AUTH_USER<br>";
echo "Poprzenio: $OldAuth";
echo "<form action="$PHP_SELF" METHOD=POST>n";
echo "<input type="hidden" name="SeenBefore" value="1">n";
echo "<input type="hidden" name="OldAuth" value="$PHP_AUTH_USER">n";
echo "<input type="submit" value="Re Authenticate">n";
echo "</form></p>n";
}
?>

<html>
<head>
</head>
<body>


</body>
</html>

Poczytalem manuala i usunolem wszystkie nieporzebne linie z przed header'a !!
po czym

wystepuje taki blad w :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

--------------------------------------------------------------------------------

Apache/1.3.23 Server at localhost Port 80


a w pliku error.log
wypisuje takie cos !!

[Sun Jul 20 22:26:38 2003] [error] [client 127.0.0.1] malformed header from script. Bad header=HTTP/1.0 401 Unauthorized: c:/apache/php/php.exe


Pomozcie poczatkujacemu !!!
bo juz wiele nerwow zjadlem z Apachem !!!
a teraz jeszcze to mi wyskakuje !! winksmiley.jpg
Go to the top of the page
+Quote Post
uboottd
post
Post #6





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


Zrob testowy skrypt w ktorym bedzie tylko odwolanie do phpinfo(),. Po odpaleni w rezultacie sprawdz czy Server API jest Apache czy CGI. Jesli to drugie i nie masz na to wplywu to zapomnij o tej metodzie autoryzacji.
Go to the top of the page
+Quote Post
spenalzo
post
Post #7





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mogę się mylić, ale spróbuj:
- daj header z 401 przed wywołanie autoryzacji
- a czasem to niejst HTTP 1.1?


--------------------

Go to the top of the page
+Quote Post
MaKaO
post
Post #8





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

Ostrzeżenie: (0%)
-----


Na niektórych serwerach nie da się skorzystać z tej metody autoryzacji... Tu chyba chodzi o to o czym napisał Ubotttd...
Go to the top of the page
+Quote Post
Łukasz Sandelews...
post
Post #9





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 6.07.2003
Skąd: ślask

Ostrzeżenie: (0%)
-----


niestety CGI !!!!
Poniewaz urzywan php Triad czy jak mu tam bylo !!
To teraz rodzi sie pytanie ktory serwer zassac z neta by pracowal z tym skryptem questionmark.gif?
Go to the top of the page
+Quote Post
MaKaO
post
Post #10





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Głogów

Ostrzeżenie: (0%)
-----


Apache powinien działać... Jak chcesz ściagnij gotowy: [LINK]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:02