我有一个网站,允许人们提交他们的域名被添加到数据库。如果某些域包含否定关键字(例如色情、xxx等),我如何阻止域?
我知道有一些类似“正则表达式”的东西可以做到这一点,但我如何创建一个允许这样做的.htaccess文件?或者有更好的选择,比如数据库过滤器?
我希望我有一些例子。htaccess代码向您展示,但是,我不知道从哪里开始,当它在一个域中阻止关键字。
最佳答案
您应该做的是维护一个blacklist
,它将包含一组您不希望出现在提交的域名中的关键字。然后使用PHP的任何字符串搜索函数来检查这些单词是否存在于名称中。
其中包括strpos,strstr
当然regex是更强大的方法,但是我认为对于您的用例来说,常规的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