Autor | Zpráva | ||
---|---|---|---|
skrepyKOKO Profil |
#1 · Zasláno: 24. 8. 2011, 02:40:17
ahoj,vím že už se to tu řešilo,ale potřeboval bych pomoct..dělám si ip ban,IP mám uloženou v databázi,a v administraci chci mít u každýho uživatele checkbox jestli bude mít ip ban povolen nebo opak..
mám takovýto script $ip = $_SERVER['REMOTE_ADDR']; $ipecko= $zaznam['ip']; if($ip == "$ipecko") { echo "Máš IP BAN"; } else { echo "Přístup povolen!"; } ono to funguje,ale jak udělat že když bude ve sloupci např ipnastaven číslo 1,tak že ten ban bude mít,a když 0 tak ho nebude mít? napadlo mě udělat další podmínku kde bude zaznam na ten ipnastaven 1,pokud ano tak má ban,ale nevým jak bych to dosadil... |
||
skrepyKOKO Profil |
#2 · Zasláno: 24. 8. 2011, 02:45:26
aha,už jsem na to přišel,tak prominte za spam..
PS: udělla jsem to teda další podmínkou.. pokud je ipnastaven nastavený na 1,tak pustí další podmínku s tím banem, |
||
Joker Profil |
#3 · Zasláno: 24. 8. 2011, 08:11:28
skrepyKOKO:
ad řádek 4: Uvozovky se píší jen kolem řetězců, ne kolem proměnných. „napadlo mě udělat další podmínku“ Dá se použít operátor AND. Ale jak jsem už říkal, nějaká učebnice nebo školení na PHP by bylo daleko rychlejší, než se učit základy tady na diskusi. |
||
blaaablaaa Profil |
#4 · Zasláno: 24. 8. 2011, 08:40:05
skrepyKOKO:
a co to udelat primo v SQL SELECT `ID` FROM `tabulka` WHERE `IP`='XXX.XXX.XXX.XXX' AND `ban`=1 LIMIT 1 |
||
Rellik Profil |
#5 · Zasláno: 24. 8. 2011, 14:58:23
Trochu OT: Víš že tím zakázáním jedné IP zakážeš přístup X dalších lidí? Tohle by fungovalo, kdyby měli všichni veřejné IP adresy. Takhle když je to za nějakým providerem je na jedné IP (kterou zakážeš) třeba dalších 100 lidí. Kteří díky tomu mají taky Ban...
|
||
lesiak307 Profil |
#6 · Zasláno: 24. 8. 2011, 21:07:33
Chcelo by to zbierať ďalšie informácie. Ak sa nemýlim:
$browser = $_SERVER['HTTP_USER_AGENT']; $hostname = gethostbyaddr ($_SERVER['REMOTE_ADDR']); aj keď stále to nie je postačujúce pre úplné identifikovanie. |
||
Rellik Profil |
#7 · Zasláno: 24. 8. 2011, 22:02:18
Pokud by to mělo účinkovat pouze na toho jednoho uživatele, tak bych si o něm zjistil co nejvíc informací, uložil v nějakém formátu do DB a pak to kontroloval.
Zhruba se dá zjistit asi toto: <h1>Zjištění informací o uživateli</h1> <?php echo "<strong>Prohlížeč:</strong> ".$_SERVER['HTTP_USER_AGENT']; echo "<br />"; echo "<strong>Jazyk:</strong> ".$_SERVER['HTTP_ACCEPT_LANGUAGE']; echo "<br />"; echo "<strong>Kódování:</strong> ".$_SERVER['HTTP_ACCEPT_CHARSET']; echo "<br />"; echo "<strong>IP adresa:</strong> ".$_SERVER["SERVER_ADDR"]; ?> To už pak omezí počet stejných PC a nemuselo by to třeba zakázat tolik lidí naráz. Možná bych mu k tomu všemu poslal i nějaké cookies i když to jde smazat... Ale ne každý ví jak.. ;-) |
||
o_O Profil |
#8 · Zasláno: 25. 8. 2011, 06:51:15 · Upravil/a: o_O
Pravděpodobně by šla zjistit MAC adresa (ovšem ne přes PHP, možná pomocí javy), to už by bylo přijatelně spolehlivé. Co se týče IP, existují města, jako například mladá boleslav, kde mnoho lidí sdílí stejnou IP adresu.
Spíše bych použil řešení jako na DJPW - nebanovat IP adresy, ale lidi. :-) Nebo jednodušeji napsat vlastní script který by porovnal všechny získané informace a na základě toho vypočítal procentuální pravděpodobnost, že se jedná o stejného uživatele. Podobný styl používají antispamy. Pak stačí informovat administrátora, aby si dával na onoho člověka pozor. Rellik: Vaše řešení zabanuje jeden prohlížeč, ale existuje jich daleko více, a to nemluvím o jejich verzích. |
||
Časová prodleva: 13 let
|
0