selam arkadaşlar program siteme spamlar bulaştı ve program yorum kısmına "viagra vs...." reklamlarını yapıyolar. hergün en az 300 mesaj siliyom. ip numaralarını banlayamadım çünkü değişik iplerle geliyorlar. bir arkadaş (güvenlik kodu) capcha ekle dedi bende ekleyemedim php den fazla anlamıyorum.
mesela :
LimeWire Basic Full indir Program Download LimeWire Basic turk3.com
linkindeki yorum kısmına capcha ekleyemezmiyiz? yardımlarınızı veya önerilerinizi bekliyorum teşekkürler.
düzenlenecek dosya ektedir. iyi akşamlar
Spamlar bulaştı acil yardım :(
17
●1.425
- 10-08-2007, 03:24:53sayfanın başına
<?
$kod=rand(1000,9999);
?>
ekledim.
<input name="bolum5" type="hidden" id="bolum5" value="<?=$bolum5?>"></td>
altına da
<input type=hidden name=kod1 value="<?=$kod?>"><img src='guvenlik.php?kod="<?=$kod?>"> <input type=text name=kod2>
ekledim.
şimdi sana bi güvenlik.php yazalım
<? define('DIZIN',basename(dirname(__FILE__))); $kod=intval($_GET['kod']); $image=crypt($kod,"abc"); // burdaki abc yi değiştirebilirsin $image=substr($image,-5); // burdaki 5 de kaç karakter göstereceğin $resim = @imagecreatefrompng("kod_arka.png"); Header ("Content-type: image/png"); $x ="10"; $y ="0"; $metin_rengi = imagecolorallocate($resim, 50, 20, 200); $font = imageloadfont("security.gdf"); imagestring($resim , $font, $x, $y, $image, $metin_rengi); imagepng($resim ); imagedestroy($resim ); ?>güvenlik sayfasına font ve arka plan da ekledim. eğer fontla uğraşmak istemezsen
imagestring($resim , $font, $x, $y, $image, $metin_rengi);
satırı yerine
imagestring($resim , 5, $x, $y, $image, $metin_rengi);
yaz olsun bitsin, yok fontta kullanayım dersen
http://www.pehaspe.com/dosyalar/wftopf.exe
bu program windows fontlarını linux fontuna çevirecektir.
ekle.php ninde başına aşağıdakileri ekle
<? $kod1=$_POST['kod1']; $kod2=$_POST['kod2']; $kod1=crypt($kod,"abc"); // burdaki abc yi üstteki ile aynı olmalı $kod1=substr($kod1,-5); // burdaki 5 de üstteki ile aynı olmalı. if($kod1!=$kod2) die("güvenlik kodunu eksik veya yanlış girdiniz, lütfen geri dönerek tekrar deneyin"); ?>bunları eklersen tamam olur.
guvenlik.php ana dizinde olmak zorunda değil, onu nereye kaydedersen kod_arka.png ve yazı fontunu da oraya atman gerekir. - 10-08-2007, 23:41:07cebeci eğer font ile kullanmayı deniyosa fonstu silip denermisin. bakarsın font desteği yoktur. eğer o da olmazsa, hostunda gd desteği yoksa sana kelime ile güvenlik kodu vereyim. nasıl dersen
PeHasPe Nuke Resmi Sitesi
resim eklemek için alttaki soruya doğru cevap vermen gerekiyo, zor olmayan bişey, istersen mysql den istersen dosya içinden yazacağımız bi dizi den soru ve cevapları aldırırız - 11-08-2007, 19:35:06seyranli ,Seyranli adlı üyeden alıntı: mesajı görüntüle
aslında güzel bir fikir. peki nasıl yapabiliriz bu yöntemi?
sanada zahmet oluyo ama bir ilgilensen dostum
iyi günler.
- 11-08-2007, 19:38:58Kardeş lütfen konumuzla ilgilenelim. konuyu başka yerlere çekmeyelim. burda bir sorunu çözmeye çalışıyoruz. iyi günler.S4l1h adlı üyeden alıntı: mesajı görüntüle
- 11-08-2007, 21:33:59cebeci o zman şöyle yapalım.
bi tane dosya hazırla ana dizine at sorular.php diye. içeriği şu olsun
<? $sorucevap=array(); $bilgi=array(); // " ile "; arasında, soru ? cevap şeklinde her satıra bi soru vcevap geliecek şekilde yaz $sorular="altıdan sonra gelen rakam (yazıyla) ? yedi ikinin karesi (rakamla) ? dört annenin kocasına ne ad verilir ? baba"; $sorucevap=explode("\n",$sorular); // her satırı ayırdım for($i=0;$i<count($sorucevap);$i++){ $satir=explode('?',$sorucevap[$i]); $bilgi['soru'][$i]=$satir[0]; $bilgi['cevap'][$i]=$satir[1]; } // burda da, ? işaretinden öncesi,ni soru, sonrasını cevap olarak ayırdım // şimdi sana yardımcı olacak 3 fonksiyon yazayım function kucukharf($metin){ $metin = strtr($metin, "ĞÜŞİIÖÇ", "ğüşiıöç"); return $metin=strtolower($metin); } function kodgoster($soru) { $soru=intval($soru); global $bilgi; echo $bilgi[soru][$soru]; } function dogrula($soru,$cevap) { $soru=intval($soru); global $bilgi; $orjcevap=addslashes(kucukharf(trim($bilgi[cevap][$soru]))); $cevap=addslashes(kucukharf(trim($cevap))); if($cevap != $orjcevap || $cevap == "") die("Güvenlik sorusunu yanlış cevapladınız"); } $formsorusu=rand(0,count($bilgi[cevap])-1); ?>şimdi buraya kadar olan kısım tamam. eğer sintaks hatası yapmadıysam
şimdi goster.txt de
yine <input name="bolum5" type="hidden" id="bolum5" value="<?=$bolum5?>"></td> satırının altına bi yerlere
<input type=hidden name=soru value="<?=$formsorusu?>">
<?=kodgoster(2)?><br><input type=text name=cevap>
ekle.
ekle.php nin de başına
<?
include("sorular.php");
$gelen=$_POST['cevap'];
$soru=$_POST['soru];
dogrula($soru,$cevap);
?>
ekelemn yetecektir sanırım
goster.txt dosyasının da başına
include("sorular.php");
eklemen gerekiyor, onu unutmuşum
iyi günler.