Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
5
Cevap
1080
Tıklama
0
Öne Çıkarma
İletişim formuna güvenlik sorusu eklemek için yardım pls
S
7 yıl
Teğmen
Konu Sahibi

Kıymetli arkadaşlar;
HTML bir web sitemin bir kaç yerinde iletişim formu var. Bu iletişim formlarına son günlerde çok spam gelmeye başladığı için güvenlik sorusu, ben robot değilim gibi bir eklentiye ihtiyacım var.Ben burada sayfanın kodlama şeklini paylaşacağım bu konuda bilgisi olan yardımcı olabilir mi

<form method="post" action="sizi-arayalim.php?islem">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="right" class="stylemenajer">&nbsp;</td>
<td>&nbsp;</td>
<td width="516" class="summary">İsim</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="30" align="right" class="baslikb">&nbsp;</td>
<td width="10" class="baslikb">&nbsp;</td>
<td><input name="adsoyad" type="text" class="mail-message-btn" id="adsoyad" size="20" />
<input name="iletisim" type="hidden" id="iletisim" value="Beni Ara!"></td>
<td width="6">&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td><span class="summary">E-Posta</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" class="baslikb">&nbsp;</td>
<td class="baslikb">&nbsp;</td>
<td><input name="eposta" type="text" class="mail-message-btn" size="20" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td><span class="summary">Telefon</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" class="baslikb">&nbsp;</td>
<td class="baslikb">&nbsp;</td>
<td><input name="telefon" type="text" class="mail-message-btn" id="telefon" size="20" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td height="20" class="summary">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td class="summary">Hangi saatler arası müsaitsiniz? </td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td class="summary"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle" class="summary"><input name="saat10-12" type="radio" class="button" value="10:00-12:00"></td>
<td align="left" valign="middle" class="summarybig">10:00 - 12:00</td>
<td align="center" valign="middle" class="summary">&nbsp;</td>
<td align="center" valign="middle" class="summary"><input name="saat14-16" type="radio" class="button" value="14:00-16:00"></td>
<td align="left" valign="middle" class="summarybig">14:00 - 16:00</td>
<td align="center" valign="middle" class="summary"><input name="saat17-20" type="radio" class="button" value="17:00-20:00"></td>
<td align="left" valign="middle" class="summarybig">17:00 - 20:00</td>
<td align="center" valign="middle" class="summary">&nbsp;</td>
<td align="center" valign="middle" class="summary"><input name="saat21-00" type="radio" class="button" value="21:00-00:00"></td>
<td align="left" valign="middle" class="summarybig">21:00 - 00:00 </td>
</tr>
</table></td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td class="summary">Sizi hangi konuda aramamızı istediğinizi bir kaç cümle ile belirtebilir misiniz? </td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top" class="baslikb">&nbsp;</td>
<td valign="top" class="baslikb">&nbsp;</td>
<td class="summary"><textarea name="sebep" cols="50" rows="5" class="mail-message-btn" id="sebep"></textarea></td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" class="stylemenajer">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td align="left"><input name="submit" type="submit" class="button" value="Beni Arayın!" />
<input name="reset" type="reset" class="button" value="Temizle" />
<br></td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" class="stylemenajer">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td align="left"><?

if (isset($_GET['islem'])) {

if ($_POST['adsoyad']<>'' && $_POST['eposta']<>'' && $_POST['sebep']<>'' && $_POST['telefon']<>'') {

require_once("class.phpmailer.php");

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "mail.alanadi.com";
$mail->SMTPAuth = true;
$mail->Username = "eposta";
$mail->Password = "sifreeeee";
$mail->From = "epostaaaaa";
$mail->FromName = $_POST['adsoyad'];
$mail->AddAddress("epostaadresimvar","Beni Ara!");
$mail->Subject = $_POST['iletisim'];
$mail->Body = $_POST['mesaj']."

İsim : ".$_POST['adsoyad']."
Telefon : ".$_POST['telefon']."
Saat : ".$_POST['saat10-12'].",".$_POST['saat14-16'].",".$_POST['saat17-20'].",".$_POST['saat21-00']."
Sebep : ".$_POST['sebep']."
E-Posta : ".$_POST['eposta'];



if(!$mail->Send())
{
echo '<font face="Georgia" size="2" color="#cc0000"><b>x Gönderim Hatası: ' . $mail->ErrorInfo . '</b></font>';
exit;
}
echo '<font face="Georgia" size="2" color="#AE4B84"><b>| •••! Mesaj başarıyla gönderildi !••• |</b></font>';
} else {
echo '<font face="Georgia" size="2" color="#cc0000"><b>• Eksik bilgi bulunmaktadır. Açıklamayı okuyunuz!</b></font>';
}
}
?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top" class="yazibeyaz">&nbsp;</td>
<td valign="top" class="yazibeyaz">&nbsp;</td>
<td colspan="2" valign="bottom" class="summary"><span class="yazisari">•</span> Tüm alanların doldurulması zorunludur.<br>
•</span> Telefon ve mail adresiniz gerektiğinde sizinle irtibat kurulabilmesi için istenmektedir. </td>
</tr>
</table>
</form>

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



B
7 yıl
Binbaşı

eCAPTCHA kullanabilirsin google nin guvenlik servisidir.. anlatım videosunu asagıda paylastım video acıklamasında indirme kodları mevcuttur..

Videoyu izlemek için tıklayınız



S
7 yıl
Teğmen
Konu Sahibi

Evet aslında ilk bunu düşündüm lakin nasıl entegre edeceğimi bilmiyorum desem yeridir.


Bu mesaja 1 cevap geldi.
A
7 yıl
Yarbay

quote:

Orijinalden alıntı: selmanca

Evet aslında ilk bunu düşündüm lakin nasıl entegre edeceğimi bilmiyorum desem yeridir.
Merhaba,http://omererkan.com/recaptcha-kullanimi/ burada php için olanını anlatmış.



P
7 yıl
Er

Sorununuzu çözüme kavuşturamadıysanız google'ın Captha sistemini kullanmadan nasıl onay sistemi yapacağınızı anlatabilirim:

Formun gönderildiği sayfada php ile rastgele 2 sayı tutturup bunu $a ve $b şeklinde değişkenlere atayın...

Bu iki sayının toplamını $c değişkenine atayın.

Bu iki sayıyı formun alt kısmına şu şekilde yazdırın:
echo $a." + ".$b." = ?";

Formun en altına cevabın yazılacağı bir kutucuk ekleyin...

$c değişkenini ($a ve $b değikenlerinin toplamı = $c değişkeni) mysql'e kullanıcının ip'si ile kaydedin.

Iletişim formunun sql e gönderildiği kısımda şunları yapın:
kullanıcının ip'sini alın

mysql de kullanıcın ip'si ile uyuşan ip varmı bakın varsa en sonda eklediğimiz cevap kısmından gelen sayının kullanıcının ip si ile uyuşan kayıttaki sayıya eşit olup olmadığını kontrol edin.
Eşit ise işlem tamam :)

////// AMA bu işlem spam yapmayı engellemez spamı engellemek için şunları yapabilirsiniz:

--A--
Form size gönderildiğinde
Kullanıcının ip'sini alın.
Time fonksiyonu ile zamanın hesaplanabilirini alın.
Bunları mysql'e atın.

--B--
Kullanıcı bidaha size form göndermeye çalıştığında
tekrar time fonksiyonu ile zamanı alın.
Aldığınız zamandan 30 çıkarın.
Kullanıcının ip sine uyan kayıt yoksa --A-- kısmındaki işlemleri yapın
varsa ve eğer cevap mysqldekinden büyükse 30 saniye geçmiş demektir ve --A-- kısmındaki işlemleri yapın.
Eğer cevap mysqldekinden küçükse hala 30 saniye vardır gönderebilmesi için bu yüzden yukardaki işlemlere izin vermeyin ve mysqldeki zamanı time() ile önceden aldığınız zamandan çıkarın ki kaç saniye kaldığını öğrenip formun gönderildiği sayfada tekrarki işlem için şu kadar saniye kaldı yazdırabilesiniz...



O
7 yıl
Çavuş

<?php

\\ Ozernet Php scprit

$salt = "abcdefghjkmnpqrstuvwxyz0123456789";

srand((double)microtime()*1000000);

for($i=0;$i<9;$i++){ $gcode .= $salt{rand(0,33)}; }

if($kayit == "$gcode"){ $geribildir .= "<br><font color=red>Güvenlik kodu hatalı!</font>";}


echo' $geribildir <br> $gcode <br><input type="text" name="kayit" value=" "> ';

?>

Yukardaki kodları sistemine entegre etmek kolay .php sayfasının en başına koysan olur. echo''; yansıma kodunun arasındakileride kendi formuna yerleştir . işleyiş şöyle: alfa sayısal vir güvenlik kodu oluşuyor ve ekrana bastırılıyor kullanıcı input degerine irer ve onaylar ise if fonksiyonu karşılaştırıyor eşit ise işlem devam ettiriliyor degilse geri bildirilip güvenlik kodu yenileniyor devam etmek için güvenlik kodunu girmek ve eşleşme saglamak durumun da yalnı bu güven lik sistemleri spam engelleyici degil sonsuz döngü yöntemi ile klonlamayı engeller botsaldırısını vs.





< Bu mesaj bu kişi tarafından değiştirildi ozernet -- 24 Mart 2019; 12:43:3 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.