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
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
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
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