如果我輸入的文本,其中訪問者應輸入自己的網址我想禁止某些前綴
<form name="frm" method="post" action="addlink.php">
url : <input type="text" name="url" id="url">
<button type="submit" class="options green">add</button>
</form>
和addlink.php這樣的代碼
$url = $_POST['url'];
$sql = "INSERT INTO $table_urls (url) VALUES ('$url')";
mysql_query($sql, $conn) or die(mysql_error());
我想禁止例如WWW。 something.com/anything所以如果訪問者輸入任何URL有www.something.com/else - www.something.com/elsething ..等等
它檢測something.com並給出錯誤,如
<?PHP if(XXXXXXXX){
echo "somthing.com is not allowed";
}else{
$sql = "INSERT INTO $table_urls (url) VALUES ('$url')";
mysql_query($sql, $conn) or die(mysql_error());
}
如果是什麼!我想說,如果$url
有任何東西,然後給不允許!
** WARNING **你代碼對SQL注入攻擊大量開放。如果你堅持使用'mysql_query',你至少需要利用['mysql_real_escape_string'](http://php.net/manual/en/function.mysql-real-escape-string.php)來轉義你的值在查詢中使用它們。你可以更好地將自己升級到['PDO'](http://us2.php.net/manual/en/class.pdo.php),並使用準備語句而不是'mysql *'擴展。 – rdlowrey 2012-02-20 02:14:41
@rdlowrey謝謝,但這是簡單的例子,但在實際的例子中肯定我會使用mysql_real_escape_string。 – 2012-02-20 02:18:05
在過去的十年中使用舊版的mysql函數後,我第二次提到了@rdlowrey的PDO建議。 – summea 2012-02-20 02:25:34