Riesim problem ako zabranit uzivatelom spamovat guestbook pomocou refresovania
stranky. Momentalne mi napadaju tieto riesenia:
1. Porovnavat zadany odkaz s odkazmi uz zadanymi.
- nevyhoda: moze sa stat, ze uz niekto podobny odkaz zadal niekedy predtym(napr
kratke odkazy ako ahoj, ako sa mas...)
2. Oddelit stranku kde sa vypisuju odkazy(napr index.php) a formular na
odoslanie prispevku od stranky spracujucej samotny skript(napr vloz.php).
- nevyhoda: kedze by som chcel vypisovat chybove spravy(nezadali ste meno, email
alebo prave naopak dakujeme za pridanie prispevku a pod) na stranke s formularom
a nechcem pouzit javascript, musel by som riesit problem ako index.php zisti, ze
vloz.php zistil, ze nieco nebolo zadane. Jedine riesenie co mi napadlo je
prenasat premenne cez odkaz z vloz.php a zistit ich pomocou GET premenne cez
index.php
3. Ukladat do tabulky cas zadania a IP a zabranit ,aby v priebehu napr 10 sekund
bol z tej istej IP zadany prispevok.
- nevyhoda : uzivatelia pristupujuci cez PROXY. Pri vecsej prevadzke v knihe by
to uz mohol byt problem hlavne keby pristupovali ludia z jedneho mesta od
jedneho providere s velkym poctom uzivatelom.
4. Ukladat cookies
- nevyhoda: vypnutie prijmania cookies. Bezni uzivatelia nevypinaju cookies a
tym ostatnym by neostavalo nic ine len ich zapnut
5. Session bez cookies. Este neviem sice presny spobosob ako na to ,ale nejak by
to mohlo fungovat ci nie ?
Mate niekto ine napady ? Ktory zo sposobov by ste pouzili vy.
Fórum › PHP
Ochrana proti refresh spamu v guestbook
Po odeslání příspěvku načti celou stránku znovu - refreshnutím už se pak nic neodešle.
DeaLer píše:#
# Po odeslání příspěvku načti celou stránku znovu - refreshnutím už se pak nic neodešle.
nevím jestli tím myslíš to stejný co já.....:)
udělej to tak, že normálně nech na tom indexu ten formulář... akorát jeho odesláním volej jinej skript než ten index....
v tom jiným skriptu ulož ten příspěvek do db pak pošli hlavičku s přesměrováním na index.
hrach píše:#
##DeaLer píše:#
# Po odeslání příspěvku načti celou stránku znovu - refreshnutím už se pak nic neodešle.
#nevím jestli tím myslíš to stejný co já.....:)#
##
#udělej to tak, že normálně nech na tom indexu ten formulář... akorát jeho odesláním volej jinej skript než ten index....#
#v tom jiným skriptu ulož ten příspěvek do db pak pošli hlavičku s přesměrováním na index.
Lenze ako odoslem informacie o tom , ze ci bolo vsetko zadane spravne popripade co nebolo zadane ?
hrach píše:#
##DeaLer píše:#
# Po odeslání příspěvku načti celou stránku znovu - refreshnutím už se pak nic neodešle.
#nevím jestli tím myslíš to stejný co já.....:)#
##
#udělej to tak, že normálně nech na tom indexu ten formulář... akorát jeho odesláním volej jinej skript než ten index....#
#v tom jiným skriptu ulož ten příspěvek do db pak pošli hlavičku s přesměrováním na index.
JJ - v podstatě jo.
Maxtor píše:#
##hrach píše:#
##DeaLer píše:#
# Po odeslání příspěvku načti celou stránku znovu - refreshnutím už se pak nic neodešle.
#nevím jestli tím myslíš to stejný co já.....:)#
##
#udělej to tak, že normálně nech na tom indexu ten formulář... akorát jeho odesláním volej jinej skript než ten index....#
#v tom jiným skriptu ulož ten příspěvek do db pak pošli hlavičku s přesměrováním na index.
##
#Lenze ako odoslem informacie o tom , ze ci bolo vsetko zadane spravne popripade co nebolo zadane ?
Tak to ověř při odeslání formuláře s pomocí podmínek a když něco nebude vyhovovat, tak ten příspěvek neulož do DB - já v tom nevidím problém.
Treba
header("Location:gb.php?zp=1");
A v gb.php potom bude
If($_GET["zp"]==1) echo "Zprava byla uspesne vlozena"
Blee, absolutni adresy by tam sice podle specifikaci protokolu mely byt ale vsichni (pokud ne vsichni tak alespon ja = skoro vsichni) na to kaslou. A k parametru 2 a 3 - co to je za haluz, manual o tom nic nevi?
EDIT: Tak sry, jen ceska verze o tom nevi. Stejne nechapu proc tam jsou :(
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
Ochrana proti robotom — založil Non-Captcha
Úprava php objednávkového formuláře proti spamu — založil Vašek
Switch - ochrana proti pismenum — založil Kuchar
Ochrana proti vícenásobnému přičtení bodů — založil khubajsn
Ochrana eshopu proti nelegálnímu šíření — založil plasmo
Moderátoři diskuze