我有一個網站,允許人們提交他們的域以添加到數據庫中。如果某些網域包含否定關鍵字(例如porn,xxx等),如何阻止網域?阻止域被提交併添加到數據庫
我知道有這樣的「正則表達式」可以做到這一點,但我如何創建一個.htaccess文件,允許這個?還是有更好的選擇像數據庫過濾器?
我希望我有一些示例.htaccess代碼來向你展示,但是,我不知道在阻止域中的關鍵字時從哪裏開始。
我有一個網站,允許人們提交他們的域以添加到數據庫中。如果某些網域包含否定關鍵字(例如porn,xxx等),如何阻止網域?阻止域被提交併添加到數據庫
我知道有這樣的「正則表達式」可以做到這一點,但我如何創建一個.htaccess文件,允許這個?還是有更好的選擇像數據庫過濾器?
我希望我有一些示例.htaccess代碼來向你展示,但是,我不知道在阻止域中的關鍵字時從哪裏開始。
您應該做的是維護一個blacklist
,其中包含一組您不希望在提交的域名中使用的關鍵字。然後你使用任何php的字符串搜索函數來檢查這些單詞是否存在於名字中。
當然正則表達式是要走的更強大的方法,但我想,現在對你的使用情況定期PHP字符串函數就足夠了
如:
$blackList = array("porn","xxx","cuss_word");
$submittedDomain = "myDomainName";
foreach($blackList as $blackListWord)
{
if (strpos($submittedDomain,$blackListWord) !== false)
{
die('Sorry, your domain name is not accepted');
}
}
//...add to database here
謝謝!到目前爲止,我已經使用了您提供的代碼,並且可以阻止域名。好東西! – whiteowl 2013-04-28 04:20:33
爲什麼不只是使用'strstr()'來檢查它是否有你想阻止的負面詞,並且根本不會將它添加到數據庫中,或者返回一個錯誤? – mash 2013-04-27 18:45:45
我在哪裏添加這個?你有一個例子..(對這個問題抱歉有點無知) – whiteowl 2013-04-27 18:49:36
'.htaccess'與這個有什麼關係? – CBroe 2013-04-27 22:51:52