Autor Zpráva
NS
Profil *
Ako by som vytvoril nieco jednoduche na bany IP adries?
Stacilo by, ze by jeho IP presmerovalo, alebo hodilo text ze ma ban. Dik za rady
Radek9
Profil
Do .htaccess si napis:
deny from 255.255.255.255
RockFire
Profil
Ale tím zamesíš kompletně přístup. Pokud děláš např. diskuzní fórum, tak ke každýmu uživateli přidej kolonku ban, automaticky definuj 0 a pak ošetři, jestli má ten user u sloupce ban 1-čku, aby to jen vyhodilo text a šmitec.
NS
Profil *
Ide o navstevnu knihu bez DB. Napr. keby som pridal nejaku funkciu do index.php, tak by to aj slo nie? Napr. by bol jeden subor ip.txt kde by boli zabanovane IP adresy, odelelovali by si ciarkou a v tom index.php by uz bolo nieco navezne na to, nejaka funkcia?
Leopik 2x
Profil
No tak si ten subor ip.txt rozdel pomocou funkcie explode pomocou ciarky no a potom uz len pomocou funkcie in_array() testujes, ci tam ip je, a ak ano tak nevypises obsah
r0me0
Profil
NS
Přesně jak píšeš, do souboru si umísti nějak oddělené IP adresy, které chceš blokovat a potom napiš funkci, která bude kontrolovat IP adresu příchozího, tuším že je v $_SERVER["REMOTE_ADDR"] s těmi v souboru. Pokud je shoda, tak přesměruješ...
Marek D.
Profil *
Dobrý deň, zišlo by sa mi to, ale je niekde na to návod keď neviem php? Vďaka
AM_
Profil
Tohle stačí dát na začátek kódu, nic složitého:
<?php
  $ban_ip = explode("\n", str_replace("\r", "", file_get_contents("ban.txt")));
  if (in_array($_SERVER['REMOTE_ADDR'], $ban_ip)){
    die('smula, mas banan');
  }
?>
Alphard
Profil
AM_:
nebo na druhém řádku použít file()
pokud jde o \r\n a \n, má na to PHP vestavěnou konstantu, jen si teď přesně nevzpomínám, možná EOL, berte to jako námět k hledání :-)
AM_
Profil
Alphard
to file() mě nenapadlo, to by bylo spolehlivější no :)
jestli je to EOL konstanta, tak to moc spolehlivé nebude, protože jak může konstanta vědět jak je zapsaný nějaký cizí soubor...
Alphard
Profil
On není až tak cizí, předpokládám, že bude dynamicky generovaný na daném systému. Pak by se PHP_EOL (už jsem to našel) mohlo hodit, ale nebudu dělat zmatky.
AM_
Profil
Alphard
jasně, ale problém je, že server třeba běží na linuxu (\n), kdežto uživatel soubor vytvořil na windows (\r\n), a to je ten zmatek - řetězec se rozdělí podle \n a podle mě porovnání "xxx.xxx.xxx.xxx\r" a "xxx.xxx.xxx.xxx" nedopadne dobře.

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: