Autor | Zpráva | ||
---|---|---|---|
ReVolt Profil |
#1 · Zasláno: 19. 6. 2012, 16:56:31
Nazdar mám problém nejspíš s relací:
require_once("../include/spojeni.php"); if(isset($_POST['login']) && isset($_POST['passwd'])) { $prihl_udaje = mysql_query("SELECT * FROM admin WHERE admin_id='1'") or die("Chyba připojení k databázi: ". mysql_error()); $hodnota = mysql_fetch_assoc($prihl_udaje); $login = $hodnota['admin_jmeno']; $pass = $hodnota['admin_heslo']; if($login == $_POST['login'] && $pass == $_POST['passwd']) { $_SESSION['prihlaseno'] = 1; header("Location: admin.php"); } else { header("Location: index.php?action=error"); } } Díky moc |
||
Someone Profil |
Máš na začátku každého souboru, ve kterém chceš session použít
session_start() ?
Tohle přihlašování se mi nezdá zrovna nejideálnější. Co když tam bude víc adminů? Ověřuj to takhle: $pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM admin WHERE admin_jmeno = '".$_POST['login']."' AND admin_heslo='".$_POST['passwd']."'"),0); if ($pocet > 0) { $_SESSION['prihlaseno'] = 1; header("Location: admin.php"); } Zauvažuj nad hashováním hesel SHA1 MD5 |
||
ReVolt Profil |
#3 · Zasláno: 19. 6. 2012, 18:58:47
Someone:
dík za odpověď, tohle je jen taková rychlovka :), jinak už jsem to rozchodil, skutečně mi zrovna na té stránce admin.php chyběla session_start |
||
Lamicz Profil |
#4 · Zasláno: 19. 6. 2012, 21:17:07
Someone:
OK, a teď to prosím napiš správně ;) |
||
Someone Profil |
#5 · Zasláno: 19. 6. 2012, 21:27:58
Lamicz:
Co máš konkrétně na mysli? |
||
Lamicz Profil |
#6 · Zasláno: 19. 6. 2012, 21:34:45
Someone:
např. SQL injection, hash hesla |
||
Someone Profil |
#7 · Zasláno: 19. 6. 2012, 21:38:18
Lamicz:
Na SQL Injection jsem upozorňoval a hash jsem sem nechtěl tahat, protože očividně není použit při registraci (ale budiž). |
||
Lamicz Profil |
#8 · Zasláno: 19. 6. 2012, 21:40:31
Someone:
OK, nevšiml jsem si. IMHO by se to mělo psát pořádně, ne někde dole poznámka, aby si to ošetřil, protože on ani neví co. Ti lidi fungují copy and paste a dalších X lidí to zkopíruje s tou bezpečnostní dírou. |
||
Someone Profil |
#9 · Zasláno: 19. 6. 2012, 21:42:53
Napsal jsem to ve formě poznámky, protože jsem to chtěl nasoukat do jednoho řádku což by se mi s tím "krátkým" názvem funkce nepovedlo (očividně ani bez bez něj ne).
|
||
ReVolt Profil |
#10 · Zasláno: 19. 6. 2012, 22:22:11
Lamicz:
nazdar, já mezi "ty lidi" co píší kód metodou c-p nepatřím, „protože on ani neví co“ nepodceňuj znalosti uživatelů tohoto fóra, mnohdy prostě člověk chybu nevidí i když má za sebou nějakou tu praxi, já se řídím heslem víc očí víc vidí a když dělám dlouho tak to prostě nevidím, i když je to vesměs triviální Someone hashovací fci mám vlastní v kombinaci s již existující fcí, proto to tu není (většinou nikam nevkládám kompletní kódy) díky za vaše reakce, tímto bych toto vlákno asi uzavřel EDIT: pro někoho, kdo by chtěl kopírovat - nadělejte to nic se tím nenaučíte a práci si spíš přiděláte než ušetříte ;) |
||
Časová prodleva: 12 let
|
0