Autor Zpráva
skrepyKOKO
Profil
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
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
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
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
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
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0