Autor | Zpráva | ||
---|---|---|---|
World Profil |
#1 · Zasláno: 19. 4. 2007, 16:49:38 · Upravil/a: World
Zdravim všechny,
chtěl bych se zeptat jestli je bezpečné banovat třeba tímto způsobem, popř. jestli už s tím máte někdo zkušenosti: mit nějakou tabulky (pro tento případ 'test') v ní mít nějaké sloupce jako např. ID, login, heslo, ... a ještě to hlavní banned a pokud by bylo u testovacího uživatele nastaveno banned na 1 tak by ho to při přihlašování zastavilo a napsalo hlášku že je zabanovaný. a pokud by měl nastaveno 0, pustilo by ho to dál bez nějakých problémů. takže sql by měl vypadat nějak takto: select login from test where banned=1; s tím že výsledek by se porovnal s loginem, který se poslal pomocí formuláře a pokud by se výsledky rovnali, vyskočila by hláška. možná by to bylo náročné na databázi (při větším počtu zabanovaných), ale zase lepší než banovat pomocí IP: 1)Můžete zabanovat ostatní nevinné uživatele na síti 2)Uživatelé s proměnlivými IP si jen resetují router a mají jinou IP nebo máte nějaký jiný přiklad? nebo nějaký nápad jak tento způsob vylepšit? díky za všechny odpovědi ;) A ještě nakonec bych chtěl všechny phpčkaře pozdravit, jelikož jsem na tomto fóru nový ;) |
||
koudi Profil |
#2 · Zasláno: 19. 4. 2007, 16:53:24
Proč by to bylo náročné na databázi? Při přihlášování si vytáhneš informace o daném uživateli a kdyžtak ho jenom nepustíš. Ale jak to popisuješ ty mi přijde nějaké krkolomné (asi sem to přesně nepochopil).
|
||
Joker Profil |
#3 · Zasláno: 19. 4. 2007, 16:55:42
World
Podle mě je možné to takhle dělat. Možná by ale bylo lepší místo "banned" mít sloupec "active", kde by se dalo rozlišovat víc stavů, například i ještě neaktivovaný uživatel (tj. registroval se, byl mu odeslaný aktivační kód, ale ještě se neaktivoval) a podobně. Tahle technika je účinná, ale vyžaduje registraci uživatele. IP adresa se obvykle používá tam, kde není potřeba registrace. A ten login se dá dělat třeba takhle: SELECT (...) FROM uzivatele WHERE jmeno='$jmeno' AND heslo='$heslo' AND active=1 A ještě nakonec bych chtěl všechny phpčkaře pozdravit, jelikož jsem na tomto fóru nový ;) Hello, World :o))) |
||
koudi Profil |
#4 · Zasláno: 19. 4. 2007, 17:00:44
SELECT (...) FROM uzivatele WHERE jmeno='$jmeno' AND heslo='$heslo' AND active=1
Vyhodil bych tu podmínku active. Takhle to totiž těm zabanovaným ohlásí něco jako špatný login/heslo. Kdyź až pozdějí v kódu ošetříš, že if ($active!=1) echo "jsi zabanován"; tak to bude mnohem jasnější. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0