• 10-08-2007, 02:47:49
    #1
    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
  • 10-08-2007, 03:24:53
    #2
    sayfanı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, 03:28:53
    #3
    seyranli emeklerin için saol fakat aynen söylediğin gibi yaptım olmadı resim kodu çıkmadı
  • 10-08-2007, 19:31:18
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Konu Dışı : Kullandığın Script W A R E Z mi ?
  • 10-08-2007, 23:41:07
    #5
    cebeci 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:06
    #6
    Seyranli adlı üyeden alıntı: mesajı görüntüle
    cebeci 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
    seyranli ,
    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:58
    #7
    S4l1h adlı üyeden alıntı: mesajı görüntüle
    Konu Dışı : Kullandığın Script W A R E Z mi ?
    Kardeş lütfen konumuzla ilgilenelim. konuyu başka yerlere çekmeyelim. burda bir sorunu çözmeye çalışıyoruz. iyi günler.
  • 11-08-2007, 21:33:59
    #8
    cebeci 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
  • 12-08-2007, 03:04:40
    #9
    Seyranli,
    dostum aynen yaptım fakat yorum eklerken şöyle bir hata çıktı.
    Alıntı
    Parse error: syntax error, unexpected T_STRING, expecting ']' in /home/turk3co/public_html/ekle.php on line 8
    ekle.php nin 8. satırında ise

    Alıntı
    include 'ayarlar.php';
    yazıyor.

    şu an web sitemdeki hatayı kaldırmadım. bugünde yorum yazmasınlar napak bu hata neden kaynaklanıyor çözebilirmiyiz. senide çok yorduk ama :