php - 阻止域提交并添加到数据库

标签 php mysql database .htaccess

我有一个网站,允许人们提交要添加到数据库中的域。如果某些域包含否定关键字(例如色情、xxx 等),我如何阻止域?

我知道有像“正则表达式”这样的东西可以做到这一点,但如何创建一个允许这样做的 .htaccess 文件?或者有更好的选择,例如数据库过滤器?

我希望有一些示例 .htaccess 代码向您展示,但是,当涉及到阻止域中的关键字时,我不知道从哪里开始。

最佳答案

您应该做的是维护一个黑名单,其中包含一组您不希望在提交的域名中出现的关键字。然后,您可以使用 php 的任何字符串搜索功能来检查名称中是否存在这些单词。

其中包括strpos , strstr

当然,正则表达式是更强大的方法,但我认为目前对于您的用例来说,常规 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

关于php - 阻止域提交并添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255651/

相关文章:

mysql - 通过数据透视表建立一对一关系

php - 仅当变量存在时才在 Eloquent 查询中包含子句

php - 获取多维数组中的元素计数并指定过滤器

php - 如何使用 PHP 根据嵌套命名空间数组中的值对数组进行排序

php - 有没有什么好的通用 PHP MySQL HTTP 隧道?

MySQL 将 1 行链接到多个

php - 来自mysql结果的多维数组

mysql - 适合大表的良好数据库,具有简单的键访问

php - 如何将相同类型的查询与不同的变量结合起来

sql - 数据库中的原子比较和交换