Právě je 20 dub 2024 16:29

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 
Autor Zpráva
 Předmět příspěvku: Autentizace na php5
PříspěvekNapsal: 30 črc 2009 10:55 

Registrován:
30 črc 2009 10:50
Příspěvky:
1
Dobrý den,
na php5 (http://www.webhosting-c4.cz/php5info) mám problém s autentizací. Script mi neplní $_SERVER

Kód:
<?
if ((isset($_SERVER['PHP_AUTH_USER'])) && (isset($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_USER'] == 'uzivatel') && ($_SERVER['PHP_AUTH_PW'] == 'heslo'))
{ // vse v poradku
  echo 'Prihlaseni probehlo uspesne.';
}
else
{ // chyba prihlaseni
  header('HTTP/1.0 401 Unauthorized');
  header('WWW-Authenticate: Basic realm="Login"');
  echo 'Chyba prihlaseni - zadejte platne uzivatelske jmeno a heslo!';
  exit;
}
?>

V čem je problém? Děkuji


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autentizace na php5
PříspěvekNapsal: 30 črc 2009 11:53 
C4 podpora
C4 podpora

Registrován:
29 čer 2009 20:53
Příspěvky:
263
Dobrý den,


php u nás funguje v cgi módu, proto tento způsob autentizace není možné použít. Jedna možnost je, že si uděláte autentizaci pomocí formuláře a cookies a nebo můžete použít variantu se souborem .htaccess + .htpasswd, která vypadá následovně:

Udělejte si php skript, kterým vygenerujete heslo do .htpasswd:

Kód:
<?
$password = 'heslo';
echo crypt($password);
?>


Např. to vygeneruje $1$p8CF8G2R$2/hmLJb0SLLKfqeRZ1yaI.

Do kořenového adresáře webu umístěte soubor .htpasswd s tímto obsahem:

Kód:
jmeno:$1$p8CF8G2R$2/hmLJb0SLLKfqeRZ1yaI.


Dále do kořenového adresáře webu umístěte soubor .htaccess s tímto obsahem:

Kód:
AuthUserFile /data/www/nazev-vasi-domeny.cz/www.nazev-vasi-domeny.cz/.htpasswd
AuthName "Autorizace"
AuthType Basic
require valid-user


Následně se na http://www.nazev-vasi-domeny.cz dostane jen uživatel 'jmeno', který zadá heslo 'heslo'. Můžete to samozřejmě zdokonalit, že např. ten .htpasswd budete generovat přímo v php skriptu. Pokud budete chtít, aby autentizace fungovala jen pro nějaký podadresář, tak stačí .htaccess přesunout do příslušného podadresáře. Příp. můžete v .htaccess použít direktivu <Files> a můžete tak určit jednotlivé soubory v adresáři, na které se má autentizace vztahovat.

V php sktiptu se k přihlášenému uživateli dostanete pomocí
$_SERVER['REDIRECT_REMOTE_USER']

_________________
Jan Vítek
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autentizace na php5 přes sessions
PříspěvekNapsal: 09 zář 2009 17:55 

Registrován:
09 zář 2009 17:51
Příspěvky:
1
S autentizací jsem kdysi bojoval podobně jako vy. Dnes používám autentizaci přes sessions. Skript, který mě funguje na tomto serveru (mám stránky na C4) jsem zkusil popsat na http://www.volko.cz/info/code_archive_detail.php?ID=23 tak snad Vám to pomůže.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autentizace na php5
PříspěvekNapsal: 26 kvě 2010 00:42 

Registrován:
25 kvě 2010 23:49
Příspěvky:
14
Postup s .htaccess + .htpasswd funguje. Jak by šlo do stránky v zabezpečené složce přidat odhlášení?
Vím, že k odhlášení dojde zavřením všech oken - bohužel všech a to i těch otevřených před přihlášením v jiném okně a ve kterých se žádné zabezpečené stránky neotevíraly. Uživatel je stále přihlášený i v nových záložkách (MSIE 8). Nedělám něco špatně?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Autentizace na php5
PříspěvekNapsal: 26 kvě 2010 10:44 
C4 podpora
C4 podpora

Registrován:
29 čer 2009 20:53
Příspěvky:
263
HTTP autentizace bohužel neumožňuje snadnou implementaci odhlášení. Jediným řešením je donutit uživatele uzavřít všechna okna prohlížeče, kde je přihlášení zapamatováno. Toto řešení je popsáno na:

http://interval.cz/clanky/odhlaseni-z-http-autentizace/

Ale vyžaduje to použití cookies, aby se poznalo, v kterých oknech je uživatel přihlášen. Takže to už je otázka, jestli nepoužít rovnou místo HTTP autentizace metodu pomocí přihlašovacího formuláře v HTML a cookies. Tam je odhlašování bez problémů.

_________________
Jan Vítek
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PHP, MySQL Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz