Autor | Zpráva | ||
---|---|---|---|
NS Profil * |
#1 · Zasláno: 21. 6. 2009, 15:16:36
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 |
#2 · Zasláno: 21. 6. 2009, 15:34:09
Do .htaccess si napis:
deny from 255.255.255.255 |
||
RockFire Profil |
#3 · Zasláno: 21. 6. 2009, 16:06:34
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 * |
#4 · Zasláno: 21. 6. 2009, 16:27:14
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 |
#5 · Zasláno: 21. 6. 2009, 16:39:13
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 |
#6 · Zasláno: 21. 6. 2009, 16:43:44
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 * |
#7 · Zasláno: 21. 6. 2009, 17:21:53
Dobrý deň, zišlo by sa mi to, ale je niekde na to návod keď neviem php? Vďaka
|
||
AM_ Profil |
#8 · Zasláno: 21. 6. 2009, 21:14:36
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 |
#9 · Zasláno: 21. 6. 2009, 21:47:47
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 |
#10 · Zasláno: 21. 6. 2009, 21:50:43
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 |
#11 · Zasláno: 21. 6. 2009, 22:16:23
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 |
#12 · Zasláno: 22. 6. 2009, 10:35:07
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. |
||
Časová prodleva: 15 let
|
0