Autor Zpráva
pavel.k
Profil *
blokování IP adresy pro write

ahoj, rád bych se zeptal,jak se dá na webovkách na principu php 5 a vyšší blokovat jednoduchým skriptem konkrétní IP adresa, popř. nastavit oprávnění této adresy tak, aby nemohla zapisovat, tedy vkládat na web příspvky do fóra, ale jenom číst. Děkuji, stačí jenom obecný návrh. Pavel K.
Joker
Profil
Je potřeba to naprogramovat.

Případně kompletní přístup na web (nebo do určité části) pro nějakou IP jde udělat i přes .htaccess.
pavel.k
Profil *
Joker:

a napsat ten skript je složité ? potřebuji zablokovat jenom asi tři uživatele, ale nechci jim bránit v přístupu na celý web, jenom aby nemohli vkládat žádné komentáře ... právě že ten .htaccess je pro zamezení kompletního přístupu ? mohl by mě někdo navést ? popř. pokud by to byl složitý skript, bylo by možné to vyřešit za nějakou protihodhotu ?
Spectator
Profil
pavel.k:
$blokovane_ip = array('xxx.xxx.xxx.xxx', ...);
if (in_array($_SERVER['REMOTE_ADDR'], $blokovane_ip)) {
  // zakazany pristup
}
blaaablaaa
Profil
Obecne:
$banned = array("XXX.XXX.XXX.XXX", "YYY.YYY.YYY.YYY");
if ( in_array($_SERVER["REMOTE_ADDR"], $banned) ) {
    return false;
}

//edit: Uff, koukam, ze me nekdo predbehl :D
Spectator
Profil
blaaablaaa:
:-D a že je to i celkem podobné :-D
pavel.k
Profil *
Spectator:

děkuji, vyzkouším ... a dám vědět jestli je to ono ...
ShiraNai7
Profil
Jen taková poznámka - v $_SERVER["REMOTE_ADDR"] může být IP adres více (oddělené čárkou), kde se dá "věřit" pouze té poslední. Ty před ní můžou přidávat brány a proxy servery a lze je podvrhnout.
pavel.k
Profil *
tak mi bylo sděleno, že do kompoletního frameworku je to problém přidat ... v podstatě jsem chtěl úpravu diskuzního fóra, abych mohl jednoduše zadminovat uživatele a případného prudiče alespoň na chvíli bloknout, než vychladne; takže jdu hledat dál, jak na to ... firma za to chce cca 10 tis. Kč a to prostě a jednoduše nemám
DarkMeni
Profil
Pořád můžeš zkusit napsat pár pravidel do .htaccesu.
"Deny from all" sice zablokuje přístup úplně, ale přes modul rewrite by to nějak šlo:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} (60.50.146.137)|(85.74.150.126)|(87.75.156.132)$
RewriteCond %{QUERY_STRING} action=send_reply
RewriteRule forum.php ban.php? [R,L]
Ale záleží na tom jak to fórum funguje. Jestli má jeden skript na zobrazení příspěvků a psaní odpovědí a nebo na každou akci jinej (pak by byl ten řádek s kontrolou query_stringu zbytečnej).
Jestli to má být jen pár ip adres, tak myslim že tenhle způsob (přes mod rewrite) bude stačit - ale na druhou stranu to trochu zpomalí web, protože to bude při každým požadavku od jakýhokoliv uživatele kontrolovat ip adresu.

A nebo taky můžeš ukázat náhled toho skriptu - jinak ti nikdo nemůže poradit co a jak upravit.

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: