Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP: Přístup k stránkám zabezpečený heslem bez MySQL - je to bezpečné?

Dobrý den,
pro tentokrát řeším problém přihlášení do administračního centra bez použití databáze.
Přihlášení probíhá takto:

// hlavičky
include('../header.php');

// uživatel
$admin_user = 'user';
$admin_pw = '6e017b5464f820a6c1bb5e9f6d711a667a80d8ea';

// přihlášení (případné:-)
if ( $_POST['user'] != $admin_user or sha1($_POST['pw']) != $admin_pw ) {
  $_SESSION['login_err'] = 0;
  presmeruj('../prihlas.php');
}
else {
  $_SESSION['login'] = 1;
  unset($_SESSION['login_err']);
  presmeruj('../index.php');
}

Někde jsem četl, že přímo porovnání hesla není moc bezpečné, proto jsem přidal funkci sha1(), někde jsem taky četl něco o crypt, tak nevím.
Je toto řešení bezpečné proti případným útokům?

Dík za případné odpovědi

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Bezpečnost není nikdy dokonalá. Jediná "dokonalá" možnost je přístup pouze z jediné tvojí IP adresy,…
marekdrtic 08.04.2008 19:58
marekdrtic
Přístup z jedný IP? U sdílené IP je to pěkná sranda... :-D nový
v6ak 10.04.2008 17:06
v6ak
* Co kdyby člověk šel rovnou na prihlas.php? * Co kdyby člověk šel na header.php? * Nemáš to zajiště…
v6ak 10.04.2008 17:04
v6ak
* Co kdyby člověk šel rovnou na prihlas.php? Tohle mám vyřešené. * Co kdyby člověk šel na header.ph… nový
Kuncek 10.04.2008 18:03
Kuncek
XSRF dobře vysvětlil Jakub Vrána na cross-site-request-forgery.php . poslední
v6ak 10.04.2008 20:13
v6ak

* Co kdyby člověk šel rovnou na prihlas.php?
* Co kdyby člověk šel na header.php?
* Nemáš to zajištěný proti session fixation, za určitých podmínek by mohl jít útok s refererem. Oboje a další viz http://php.vrana.cz/zabezpeceni-session-promennych. php
* pokud $_POST['user'] nebo $_POST['pw'] neexistuje a v error_reporting je i E_NOTICE, vrhne to chybovou hlášku.
* A co CSRF? (XSRF) To se netýká přihlášení, ale jednotlivých akcí.

* Co kdyby člověk šel rovnou na prihlas.php?
Tohle mám vyřešené.

* Co kdyby člověk šel na header.php?
Rovněž vyřešené.

* Nemáš to zajištěný proti session fixation, za určitých podmínek by mohl jít útok s refererem. Oboje a další viz zabezpeceni-session-promennych. php
O tom si něco přečtu.

* pokud $_POST['user'] nebo $_POST['pw'] neexistuje a v error_reporting je i E_NOTICE, vrhne to chybovou hlášku.
Samozřejmě, že to vrhne chybovou hlášku, neposkytl údaje v POST, musí se přihlásit...

* A co CSRF? (XSRF) To se netýká přihlášení, ale jednotlivých akcí.
Tomuhle taky nerozumím.

Zpět do poradny Odpovědět na původní otázku Nahoru