Ahoj vsichni... predem chci upozornit, ze nejsem odbornik pres PHP (spis naopak :)) , ale chtel mel bych dotaz. Muj kamos ma vlastnorucne udelanou PHP knihu, do ktere vsak pred nedavnem zacal spamovat nejaky blboun. Potrebovali bychom s nim nejak vyresit BANovani. V principu bych mel jasno: Adresa by se ukladala jako promenna a potom ukazovala nekde pod prispevkem. Problem je v tom ze neznam kod na zjisteni adresy prispivajiciho a nevim jak by se dala prislusna adresa potom zablokovat...
Poradi nekdo? :(
Fórum › PHP
Zapis IP adres
Mela by to resit promenna prostredi $REMOTE_ADDR. Pro blizsi informace pohledej v referenci ;)
Doporucuju ty zakazane adresy ikladat do special tabulky v SQL a tu pak pri kazdem zobrazeni fora prohledat, zda se v ni nenachazi adresa pristupujiciho.
Toto reseni ma ovsem problemy v podobe skryvani IP a treba taky anonymnich proxy serveru.
no a potom bude? m?t formul??, kde bude
$ip = $_SERVER["REMOTE_ADDR"];
$ip_adresy = Array('0.0.0.0','1.1.1.1');
if (!in_array($ip,$ip_adresy, true))
{
echo "v?? p??sp?vek byl p?id?n";/*sem d?? i ten formul?? co to odes?l?*/
}
else
{
echo "spamovat mi tu nebude?";
}
snad tam nem?m n?jakou chybu a pochop?? to, je to ps?no narychlo ...
Kdy? tak kouk?m na tu Va?i diskuzi, taky bych se na n?co zeptal. Kdysi jsem cht?l ud?lat taky n?co podobn?ho, jako zablokovat u?ivateli vstup na str?nky, pokud se na nich nechov? tak, jak m?, ale upustil jsem od toho, kdy? jsem zjistil, ?e moje IP je po ka?d?m odpojen? a znovup?ipojen? k internetu jin?. Tak?e, pokud j? se te? p?ipoj?m k internetu, vlo??m svou IP do datab?ze jako blokovanou, sta?? se odpojit, znovu p?ipojit a u? nejsem blokovan? u?ivatel, proto?e m? IP je te? jin?. A taky m? napad?, ?e kdy? j? m?m poka?d? jinou IP, m??e se st?t, ?e tu moj? p?edchoz? IP m? te? n?kdo jin? a j? tak vlastn? zablokuju n?koho ?pln? jin?ho.
Nebo to funguje n?jak jinak? ?:ehh:?
CHtel bych jen dodat, ze nikde neni psane, ze nemuzete vkladat odkazy na jine stranky. Klidne si sem davejte odkazy, komu to uskodi? Krtkovi prikazu,aby se v tomto mirnil a je to :)
Samo zadna reklama jen odkazy nebo "kouknete sem www...", ale odkazy na uzitecne informace k tematu jsou vitane..
Info pro Krtka:
bot_name: Krtek;
if(bot_name(see(good_url)):
echo "Juchů, odkaz :) ";
else:
edit_post_pst($#pst);
endif;
close scanning bot: bot_name;
Sleduj mě na twitteru – @lukaschury.
Taky to de vyresit prez cookie...napriklad muzes napsat jen jeden prispevek za hodinu:
?
if($kontrola!="spammer"){
// pridame prispevek
setcookie("kontrola","spammer",Time()+3600);
}
?jee, to vubec nikdo nedokaze obejit :P
to jako myslis, ze se daj cookie samzat??? uz to vidim... pridam prispevek, smazu cookie,pridam prispevek, smazu cookie, pridam prispevek, smazu cookie - na to by se kazdej z hluboka..........
Nee, vypnu cookie p?id?m p??sp?vek, p?id?m p??sp?vek, p?id?m p??sp?vek, p?id?m p??sp?vek... lebo rovnou robota, kteryho uz naky su?enky vůbec nezajimaj.
no dobre, dobre...mate pravdu
hadat se s vama nebudu, pokud myslite ze nejlepsi je zablokovat ip adresu...
Ono s tema IPinama je to hodne hodne slozity. Protoze treba ja mam IP stejnou s desitkama (mozna stovkama, nevim) lidi, kteri se pripojujou pres stejneho poskytovatele. A mam pocit, ze treba takovy Karneval to ma vyresene stejne. A tam jsou lidi velke tisice. Navic se pak staci pripojit pres nejakou public proxinu a muze tam psat stejne. Ne, blokovani IP neni ta vhodna cesta.
Navic existujou lidi (jako treba mareX) , kterym se ip meni pri kazdym startu... Me se ted zrovna taky nedavno zmenila a kamosovi se meni bezne. Navic je pravda, ze cela nase sit bude mit stejnou adresu (neco kolem deseti lidi...); a to kdyz pomyslim ze existuje 1000 lidi se stejnou adresou !!!
Bez cookies ti session stejne nepojede ;)
identifikator session muzes budto predavat pomoci cookies nebo pomoci url - obe varianty sou na ... tudy podle me cesta taky nepovede !?
Identifikační číslo sessid je možno předat jako parametr URL, ale to se obvykle nedělá, díky snazšímu uhodnutí případným útočníkem.
a potom ho muzes predat jen pomoci cookies a to se dostavame k tomu, ze cookies se daj vypnout...
Bohuzel asi zadna takova jednoducha moznost oznackovani uzivatele, ktera by se nedala obejit dektivovanim neceho nebo pouzitim anonymizeru neni.
Ty sessions maji navic jeste jednu vadu - vymazou se pri vypnuti browseru (od toho nazev session)
Ale furt můžeš přidávat přiípěvky "ručně"... :((
to je sice pravda, ale zbavis se robotu. No tak to udelas tak, ze pri odeslani spravi s antispamovou ochranou si ulozi ip do nejakyho *.txt souboru, a bude tam 10 minut, po tu doubu nebude moct zadat zpravu. Kdyz se nad tim zamyslis, tak to je nemozny mu to zakazat. Ale takhle ho alespon trochu odradis, a zbavis se robotu. :pila:
To uz mas lepsi to udelat pomoci toho SQL. Tam tech adres budes moci drzet kopici a prace s tim bude o dost jednodussi.
Ale pokud nemas databazi, tak to musis udelat pomoci souboru...
Fakt ti prijde jednodussi operovat s desitkami hodnot v textaku (nebo desitkama textaku) a pravidelne je procistovat...? :ehm:
A co když se tak stane? ten skript by na to měl být připraven?
Co sa este tyka predavania sessions medzi strankami, nedalo by sa to predavat cez databazu? Vzdy by sa tam zapisala hodnota a pod. Popripade pouzit aj funkciu: session_set_save_handler()
Dalo by sa to :pc:
zakázanie prístupu podľa ip adresy:
<%
if Request.ServerVariables("REMOTE_ADDR") = "[i]príslušná ip adresa[/i]" Then
Response.Write("<br><font face=""Arial"" size=""2"" color=""red""><b>
Ty sem nechoď!!!</b></font>")
Else
Response.Write("<br><font> face=""Arial"" size=""2"">
Prístup umožnený!!!</font>")
End If
%>
Možno sú tam nejaké chyby :))a možno to tu už niekto napísal :)) .
To ps2console: jo chyba by tady byla - ASP :D jinak by to mozna mohlo fungovat(i kdyz VB nesnasim, tak se mi to nechce moc procitat :D)
To da11niel: co s htaccess, mozne ochrany jsou IP a Cookies/sessions, zadnou jinou "identifikacni" hodnotu od uzivatele nedostanes a obe se daji obejit, tkaze jestli se jedna o robota, tak na 3 sekundove zadrzeni bych zvlil generovani cisel, na 15-20s zdrzeni bych zvolil CAPCHA obrazek(nebo jak se to pise), na dlouhe zdrzeni, teda pokud to nepoza bych volil zakodovany rozdilovy cas
<input type="hidden" name="nacteniStranky" value="l2EGgoA">
trochu sem to zkratil, jinak je to mktime kdy se vygenerovala stranka s tim, ze cisla sou nahrazeny pismeny(dle vlastni volby), v tomto pripade to je l = 1
E = 3
G = 6
g = 9
o = 0
A = 4
kdyz se zvoli nejake nesmyslne kodovani Z = 1, atp, tak by to robot nemel rozlustit a vzhledem k tomu, ze roboti posilaji formular hned, tak se po odeslani stranky dekoduje cas, porovna se a kdyz bude mensi nez treba 5 sekund, tak se prispevek jednoduse neulozi, tady by bylo asi dobre to jeste porovnat s delkou obsahoveho pole, protoze kdyz nekdo napise jen smajlika, tak mu to zabere mene nez 5 sekund(s timhle uz si jen trochu vyhrat).
V pripade, ze je to clovek, ktery vypisuje tyto udaje bych asi doporucil registraci uzivatelu s unikatnosti e-mailovych adres, a banovat primo ucty spamujicich uzivatelu(v pripade potreby samozrejme aktivacni email...), ale prece jen je to kniha navstev a registrovat se na webu jen proto, abych mohl do knihy zapsat jeden prispevek je asi blbost
no napsal sem par navrhu, tak si z toho vyberte co chcete a co se vam bude hodit :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Databáze adres — založil merobijec
Překlad adres/parametrů — založil Peet
[RE] Přepis adres na absolutní — založil pawlik
Rewrite - podstrčení nových adres — založil Pavelv
Rozdělení adres souborů z tkFileDialog do seznamu — založil Tomas
Moderátoři diskuze