2013-04-27 50 views
2

我有一個網站,允許人們提交他們的域以添加到數據庫中。如果某些網域包含否定關鍵字(例如porn,xxx等),如何阻止網域?阻止域被提交併添加到數據庫

我知道有這樣的「正則表達式」可以做到這一點,但我如何創建一個.htaccess文件,允許這個?還是有更好的選擇像數據庫過濾器?

我希望我有一些示例.htaccess代碼來向你展示,但是,我不知道在阻止域中的關鍵字時從哪裏開始。

+3

爲什麼不只是使用'strstr()'來檢查它是否有你想阻止的負面詞,並且根本不會將它添加到數據庫中,或者返回一個錯誤? – mash 2013-04-27 18:45:45

+0

我在哪裏添加這個?你有一個例子..(對這個問題抱歉有點無知) – whiteowl 2013-04-27 18:49:36

+0

'.htaccess'與這個有什麼關係? – CBroe 2013-04-27 22:51:52

回答

3

您應該做的是維護一個blacklist,其中包含一組您不希望在提交的域名中使用的關鍵字。然後你使用任何php的字符串搜索函數來檢查這些單詞是否存在於名字中。

包括strposstrstr

當然正則表達式是要走的更強大的方法,但我想,現在對你的使用情況定期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 
+0

謝謝!到目前爲止,我已經使用了您提供的代碼,並且可以阻止域名。好東西! – whiteowl 2013-04-28 04:20:33