Ahoj,
internet je asi plnej lid, ktery nevedi co delat. Mam na netu navstevni knihu a bohuzel, staci jeden den a mam ji plnou spamu, jde tomu zabranit jinak nez pouzitim obrazkoveho kodu?
Fórum › PHP
Kniha bez spamu
![](img/forum_vlakno_help_vyreseno.png)
no celý se to odvíjí od toho, jestli ti tam spamuje spamovací robot nebo člověk...
pokud je to člověk, tak stačí blokovat ip, pokud robot tak nic kromě obrázku s kontrolním kódem nepomůže
Lze udělat ještě jeden trik :D
Jak je vždy button Odeslat (nebo Vložit - jak tu máme tady) u formuláře pro vkládání příspěvku.. stačí udělat dva buttony, jeden bude mít name něco jako místo "Vložit" => "Jsem robot" a druhý bude mít name právě "Vložit" a TOTO tlačítko (které bude až pod tím prvním) bude odesílací. To prvni tlacitko vlastne bude k ničemu, ale robot ho vždy použije - použije to první tl. a tedy spam boti neodešlou žádné příspěvky :chiche:
Sleduj mě na twitteru – @lukaschury.
Nebo místo kontrolního kódu dat taky například "kolik je pět mínus tři" apod..
Ale to už je to samé, co kontrolní obr..
Sleduj mě na twitteru – @lukaschury.
Nebo by mo?n? bylo mo?n? vytvo?it formul?? BEZ odes?lac?ho dla??tka.?:pche:?Formul?? norm?ln? ?lov?k ode?le stisknut?m enteru (v n?kter?m pol??ku input), ale robot to asi zvl?dne t??ko.?:error:?P??padn? tam m??e? d?t upozorn?n?, co se m?m ud?lat.
Nev?m, jestli to je funk?n? v?dy a za v?ech p??pad? (samoz?ejm? s kl?vesnic?), ale v?m, ?e to jde.
U textasrea pri enteru odesilat? :och:
Sleduj mě na twitteru – @lukaschury.
Mno a neznáte někdo ten script, jak se tam opisuje text z obrázku?
Mam pocit ze tu nekde byl...snad to byl dokonce clanek. zkus hledat
Mno jo ,ale mě to nefunguje ve FireFoxu.Skoro vždycky mi to vygeneruje stejný obrázek ,ale ked je jiný :((
keď je to robot.. tak roboty vetšinov vyhladavaju guestbook takže.. ak maš to na index.php?id=guestbook tak stači dat index.php?id=gb
mne to pomohlo... a nemusel som dava? ani obrazky a ani 2 buttony :skunk:
Mno jo, ale já se tím zároveň i učim a když změnim ID tak z toho pak mám velké... (Samozřejmě nezkušenosti :D )
Dragon napsal:
Mno jo ,ale mě to nefunguje ve FireFoxu.Skoro vždycky mi to vygeneruje stejný obrázek ,ale kód je jiný :((
to je tím, že si FF uložil ten obrázek do paměti a načítá ho odtamtud... prostě si jen zakaž ukládání do mezipaměti, nebo můžeš několikrát aktualizovat stránku nebo pro konkrétní adresu zakázat ukládání do paměti...
a nebo v HEAD stránky můžeš nastavit, aby se stránka vůbec neukládala do paměti a tudíž to bude loadovat ze serveru pokaždé...
A nebyla by nějaká pomoc třeba v podobě kódu pro nováčka?
Dragon napsal:
A nebyla by nějaká pomoc třeba v podobě kódu pro nováčka?
což kód, ten ti vyřeší příklad, ale nic ti neřekne o teorii cach...
tak si to zkus tady nastudovat:
http://www.jakpsatweb.cz/clanky/caching-tutorial-czech-translation.html
dle mne ti to pomůže tak, že zjistíš jak to zapsat...
Mno očividně jsi se zmýlil :) :) :)
Cože? Nechápu. Nefunguje ti to? Že by to bylo něčím jiným?
Mno já jsem to zkouknul a moc sem to nepobral :D
Hmm aha, no tak asi takhle...
<meta http-equiv='Cache-control' content='no-cache' /> ---> to je na to, ýe se neuloýí do keše...
<meta http-equiv="expires" content="Mon 21 May 2006 12:00:00"> --->vyprší dne 21.5.2006, 12:00
Aha.. tak todle jsem zkoušel včera a nezobrazil se mi ten obrázek vůbec ani v IE ani ve FF.
Hoď sem zdroják...
Ale nějak upravenenj, ne celej, ale jen ty základní místa...
Takže takhle to je nijak neupravené mám to z toho příkladu tady na programujte.com
Index.php
<?php
session_start();
?>
<html>
<head>
<title>Formul??</title>
</head>
<body>
<?php
$kontrola=$_POST["kontrola"];
if(IsSet($kontrola))
{
if($kontrola==$_SESSION['znak'])
echo "<p>Zadali jste správný kód.</p><br><p><a href="index.php">Vygenerovat nový obrázek</a></p>";
else
echo "<p>Zadali špatný kód</p><br><p><a href="index.php">Vygenerovat nový obrázek</a></p>";
}
else
{
$znak=strtoupper(substr(md5(rand()),0,5));
$_SESSION['znak'] = $znak;
?>
<form method="POST" action="index.php">
<p><img src="obrazek.php" width="220" height="51" alt="Kontroln? obr?zek">
</p>
<p>Napište text z obrázku: <input type="text" name="kontrola" size="20"></p>
<p>
<input type="submit" value="Zkontrolovat" name="B1"></p>
</form>
<?php
}
?>
</body>
</html>
obrazek.php
<?
session_start();
$znak = $_SESSION['znak'];
$podklad = ImageCreateFromPNG("podklad.png");
$prekryv = imagecreatefromPNG("podklad1.png");
$barva = ImageColorAllocate($podklad, 0, 0, rand(0,200));
ImageTTFText($podklad, rand(25,30), rand(-40,40), 20, 40, $barva, "./SHOWG.TTF", $znak[0]);
$barva = ImageColorAllocate($podklad, 0, 0, rand(0,200));
ImageTTFText($podklad, rand(25,30), rand(-40,40), 60, 40, $barva, "./SHOWG.TTF", $znak[1]);
$barva = ImageColorAllocate($podklad, 0, 0, rand(0,200));
ImageTTFText($podklad, rand(25,30), rand(-40,40), 100, 40, $barva, "./SHOWG.TTF", $znak[2]);
$barva = ImageColorAllocate($podklad, 0, 0, rand(0,200));
ImageTTFText($podklad, rand(25,30), rand(-40,40), 140, 40, $barva, "./SHOWG.TTF", $znak[3]);
$barva = ImageColorAllocate($podklad, 0, 0, rand(0,200));
ImageTTFText($podklad, rand(25,30), rand(-40,40), 180, 40, $barva, "./SHOWG.TTF", $znak[4]);
imagecopy($podklad, $prekryv, 0, 0, 0, 0, 220, 51 );
header("Content-type: image/png");
ImagePNG($podklad);
ImageDestroy($podklad);
ImageDestroy($prekryv);
?>
Pak tam jsou ještě ty soubory podklad.png podklad1.png a Showg.ttf
no podle mě bys měl mít soubor podklad.png zpřístupněn pro zapisování z webu... ale nevim, tak důkladně jsem to nezkoumal...
To asi ne, když to IE normálně funguje
![](img/forum_nove_psp_new.png)
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
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Prodám | Kniha - C++ bez předchozích znalostí — založil C++ bez předchozích znalo
Prodám | Kniha - C++ bez předchozích znalostí — založil gatuso
Vyčištěno od SPAMu — založil CuroBOT
Zamezení spamu v komentářích — založil TomasUL
OT: Obrovske mnozstvo spamu — založil mnn
Moderátoři diskuze