我有一个网站,允许人们提交他们的域以添加到数据库中。如果某些网域包含否定关键字(例如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