![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Mam autoryzacje:
Kod session_start();
if (!session_is_registered("uzytkownik")) { if (!sprawdz_uzytk_haslo()) { header('WWW-Authenticate: Basic realm="manage.midlety.net"'); header('HTTP/1.0 401 Unauthorized'); echo 'Bez podania prawidłowej nazwy użytkownika i hasła nie możesz tu wejść...'; exit; } else { session_start(); $user = $_SERVER['PHP_AUTH_USER']; session_register("uzytkownik"); } } Wszystko dziala u mnie lokalnie. Ale na serwerze nie pyta o zadne haslo czy uzytkownika. Od razu pokazuje sie tekst: Cytat "'Bez podania prawidłowej nazwy użytkownika i hasła nie możesz tu wejść...":(
Roznica nie jest w wersji php, a w systemie (linux na serwerze, win lokalnie). Nie bardzo mam pomysl gdzie szukac bledow:( Przychodzi wam cos do glowy? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
sprawdzilem to tez ze skryptem z manuala i jest ten sam problem:(
czyli jakby serwer nie pozwalal na autoryzacje? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Podaj kod tej funkcji...
[php:1:b5bd49c655]sprawdz_uzytk_haslo()[/php:1:b5bd49c655] -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz czy na serwerze php jest jako CGI czy jako modul. Np. odpal testoey skrypt z instrukcja phpinfo(), tam to bedzie opisane, sprawdz tez czy w sekcji zmienne apacza jest PHP_AUTH_USER i PHP_AUTH_PASSWORD
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
1. wiesz co, moglbys dokladniej okreslic w jakiej sekcji jest info o tym, czy php dziala jako modol, czy skrypt cgi?
2. A co do tych zmiennych, to wogole nie pojawiaja mi sie w phpinfo() :(, a ciag "auth" pojawia mi sie w zaladowanych modulach apacha (w takich kontekstach jak "mod_auth_any" czy "mod_auth_anon", itp.) i nigdzie wiecej:( |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. wiesz co, moglbys dokladniej okreslic w jakiej sekcji jest info o tym, czy php dziala jako modol, czy skrypt cgi?
W pierszej... ![]() Cytat 2. A co do tych zmiennych, to wogole nie pojawiaja mi sie w phpinfo()
![]() To strzelam ze jednak CGI. Acha, nie PHP_AUTH_PASSWORD tylko PHP_AUTH_PW - mylnelo mnie sie. Jesli masz CGI to zapommnij o takiej autoryzacji - musisz zrobic wlasny normalny formularz |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
http://forum.php.pl/viewtopic.php?t=2106 moze tam znajdziesz cos ciekawego dla siebie
-------------------- brak sygnaturki rowniez jest sygnaturką
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
W Server API mam napisane "Apache".
Czy to rzeczywiscie znaczy, ze nie dam rady zrobic tego typu autoryzacji? jakby tak rzeczywiscie bylo, to duzo to kosztuje admina pracy zmienic sposob pracy php? Pewnie musialby przeladowac apacha? I czy duze to konsekwencje ponosi za soba (chodzi mi tylko o skrypty php)? Pytam, bo do tej pory jak przenosilem swoje skrypty na ten serwer, to napotykalem tylko ograniczenia z jego strony. To mogloby tlumaczyc wszystkie:) Czyli jak php pracuje jako modul, to ma szersza uzytecznosc, gdy chodzi jako cgi? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Hmm... wyglada na modul. Pokaz zawartosc funkcji sprawdz_haslo.
I czy nie jest o problem register global off ? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 19.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Kod function sprawdz_uzytk_haslo()
{ global $_SERVER; global $users; global $passwords; if (!isset($_SERVER['PHP_AUTH_USER'])) return(false); for ($i=0;$i<count($users);$i++) if ( ($users[$i]==$_SERVER['PHP_AUTH_USER']) && ($passwords[$i]==$_SERVER['PHP_AUTH_PW']) ) return(true); return(false); } $users = array("user1","user2"); $passwords = array("pass1","pass2"); session_start(); if (!session_is_registered("uzytkownik")) { if (!sprawdz_uzytk_haslo()) { header('WWW-Authenticate: Basic realm="myRealm.pl"'); header('HTTP/1.0 401 Unauthorized'); echo 'Bez podania prawidłowej nazwy użytkownika i hasła nie możesz tu wejść...'; exit; } else { session_start(); $user = $_SERVER['PHP_AUTH_USER']; session_register("uzytkownik"); } } Tak wyglada caly plik. Ten skolei jest includowany na poczatku kazdego pliku, do ktorego wglad grozi zbyt duzymi prawami. Taki moj panel zarzadzania:) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[php:1:9e0d9a6e4b]global $_SERVER;[/php:1:9e0d9a6e4b]
Ta tablica jest superglobalna, więc nie ma potrzeby... [php:1:9e0d9a6e4b]global $users; global $passwords;[/php:1:9e0d9a6e4b] Sorry, ale to wielki błąd... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:40 |