最近我開始從一個網站獲取殭屍工具,他們不斷在我的「客戶反饋」表單中發佈他們的網站鏈接。我想讓我的表單否認包含「http://」的任何文本或我將添加的任何其他單詞/短語(它們肯定會找到繞過「http://」的方式),但是我不會不知道該怎麼做。這裏是代碼(需要檢查「http://」的表格是$ name和$ comment):PHP未接受的文本格式
if(isset($_POST['add'])){
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
$ip = $_SERVER['REMOTE_ADDR'];
$datetime = date('Y-m-d H:i');
$checkIp = mysql_query("SELECT ip from comments WHERE ip = '$ip'");
if (mysql_num_rows($checkIp) > 0) {
echo "Only 1 feedback per IP allowed!";
$IP = mysql_fetch_array($checkIp);
print_r($IP);
}
if($name){
if($email){
if($comment){
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
mysql_query("INSERT INTO comments (id, name, email, comment, ip, datetime) VALUES ('','$name','$email','$comment','$ip','$datetime')");
}
else
echo "The email address is invalid!<br><br>";
}
else
echo "You haven't entered any comment!<br><br>";
}
else
echo "You haven't entered an email address!<br><br>";
}
else
echo "You haven't entered your name!<br><br>";
}
謝謝!
爲什麼不使用[驗證碼](http://stackoverflow.com/questions/59560/最有效的形式 - 的 - 驗證碼)? – castis
你有一個IP爲他們的服務器? –
你應該瞭解安全性,你的代碼對你來說很危險。 –