我有一个网站,允许人们提交他们的域名被添加到数据库。如果某些域包含否定关键字(例如色情、xxx等),我如何阻止域?
我知道有一些类似“正则表达式”的东西可以做到这一点,但我如何创建一个允许这样做的.htaccess文件?或者有更好的选择,比如数据库过滤器?
我希望我有一些例子。htaccess代码向您展示,但是,我不知道从哪里开始,当它在一个域中阻止关键字。

最佳答案

您应该做的是维护一个blacklist,它将包含一组您不希望出现在提交的域名中的关键字。然后使用PHP的任何字符串搜索函数来检查这些单词是否存在于名称中。
其中包括strposstrstr
当然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

10-05 20:07