Merhaba arkadaşlar iletişim formumdan kötü amaçlı olmasada spam mailler alıyorum.
Tam olarak şöyle:
* Site anlık yavaşladığı zaman ziyaretçi gönder buttonuna iki defa basınca bana mail iki defa düşüyor.
* Birde şuan hiç yapan olmadı ama ben denedim fark ettim. İletişim formunu doldurup yollayınca gonder.php sayfasına yönleniyor. O gonder.php sayfasını yenileyince ne kadar yenilersem o kadar mail üst üste geliyor.
Bunları engellemenin bir yolu var mı? Topalma - çıkarma veya captcha yöntemi dışında?
PHPMailler sınıfı kullanıyorum.
Spam mail engelleme.
4
●501
- 08-03-2018, 19:49:27Bunun önüne geçmenin en iyi yolu captchadır. Ama captcha eklemek istemezseniz garantisi olmamakla birlikte şöyle bir yol izleyebilirsiniz.Pavel adlı üyeden alıntı: mesajı görüntüle
form içerisine kontrol isilmli input hidden ekleyin ve değerini 0 yapın. Formu submit etmeden önce ise butonun onclick eventında js ile bu input hiddenın değerini 1 olarak güncelletin. ve php ile post verilerini aldığınız yerde $_POST['kontrol'] == '1' şeklinde bir if şartı yazarak kontrol değeri 1 ise mail göndertin. Böylece mouse ile gönder butonuna tıklamadan direk bot ile post edilirse mail gitmeyecektir. Bu yöntem piyasadaki basit botları engellesede birisi özellikle sitenize manuel bot bağlıyosa onun önüne geçmeyecektir.
Örnek kod:
<?php if ($_POST['kontrol'] == '1') { //mail gönder } ?> <input type="hidden" name="kontrol" id="kontrol" value="0"> <input type="submit" value="Mesajı Gönder" onclick="$('#kontrol').val('1');"> - 08-03-2018, 23:22:10Teşekkür ederim dediğinizi çok iyi anladım.yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
Fakat siteme bot saldırmıyor zaten. Normal kullanıcı yapıyor bunu.
Yani istemsiz yapıyor aslında. "Gönder" buttonuna fazla falan tıklayanlar oluyor, heyecandan veya çabuk davranmak isterken bana mail yağmuru atıyorlar haberleri yok
- 09-03-2018, 00:21:57belirli mail uzantılarına izin verin o halde sizdePavel adlı üyeden alıntı: mesajı görüntüle
mesela a.com a.net a.org a.de a.ch a.com.tr gibi
bunların dışında olanlara izinsiz mail bastırın böylece mail gönderemezler
ek olarak bir güvenlik yaparsınız 3 defa yanlış mail göndermeye çalışanı max 15 dk'lık bir yasaklama getirirsiniz , böylece kullanıcı ısrar etmeyecektir
- 09-03-2018, 00:30:37Normal kullanıcı sayfa yüklenirken, ikinci kez butona tıklıyorsa yada sayfayı refresh yaparak yeniden verileri post editorsa aşağıdaki yolları izleyebilirsiniz.Pavel adlı üyeden alıntı: mesajı görüntüle
- butonun onclick eventında ilgili butonu $(this).attr('disabled', 'disabled'); ile disable edebilirsiniz böylece butona 1 kere tıklanırsa buton disable olur 2. yanlış tıklamanın önüne geçilir.
- refresh çözümü için ise mail gönderme kodunuzdan sonra header("Refresh:0"); gibi bir komut verirseniz sayfa yenilendiğinde tekrar post verileri gitmez
Yani istemsiz yapıyor aslında. "Gönder" buttonuna fazla falan tıklayanlar oluyor, heyecandan veya çabuk davranmak isterken bana mail yağmuru atıyorlar haberleri yok 