2013-04-27 51 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