PHP dizesinde kaç URL'LER Algılama

2 Cevap php

Ben bir web sitesi için bir iletişim formu uygulama yapıyorum ve kullanıcı deneyimi üzerinde olumsuz bir etkisi olduğuna inanıyorum çünkü ben bir captcha kullanmaktan kaçınmak istiyorum.

Bunun yerine, ben mesajı ile teslim olan URL'lerin sayısını tespit davasında karar verdik.

Ben $ _POST teslim bir dize olarak mesaj alma ediyorum. I () bana bir alt mesajın içinde var ama ne ben isterim sayısıdır onay verebilir gibi stristr gibi dahili PHP fonksiyonları biliyorum.

Ayrıca, spam algılama açısından yaptığınız gibi bir şey bir maç "" uygun olabilir mi?

Şerefe.

2 Cevap

substr_count($text, "http") http://www.php.net/manual/en/function.substr-count.php

Bu yeterli değil, ama ne kullanıcıların html olarak işlenen alır form alanlarına filtresiz veri girmek için izin olduğunu unutmayın.

Ben nedeniyle Cross Site Scripting http://www.owasp.org/index.php/Top%5F10%5F2007-Cross%5FSite%5FScripting ya orada javascript koymak mümkün olmamalı

I http://htmlpurifier.org/ herhangi bir zararlı kod kaldırmak için kullanmanızı tavsiye ederim.

Nihayet spam filtreleme için ben tavsiye ederim http://akismet.com/

İyi şanslar.

Bu bir iletişim formu ise, html kabul etmek gerek yoktur. Sadece tüm içeriği kodlamak ve aynı ip gelen mesajların sayısını sınırlamak veya mesajlar arasındaki zaman sınırı.

evet url'lerin sayısını kısıtlamak olabilir, ama bu etkili olduğunu düşünmüyorum