本文介绍了使用PHP了解黑名单和白名单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道使用白名单时,它只使用该列表中的所有内容,而使用黑名单时,它使用列表中以外的所有内容。

但是在那之后会发生什么呢?假设您使用的是白名单-如果输入的值包含不在白名单中的内容,您能否阻止深渊翻滚的输入?

我知道这样会减少除字符或数字以外的所有带空格的内容:

preg_replace( "/[^a-zA-Z0-9_]/", "", $stringToFilter );
但是,如果我不想用空格将值存储在数据库中,该怎么办呢?有没有办法做到这一点,以便出现一条错误消息呢?使用IF语句,例如.

推荐答案

  • 白名单:审批通过的项目
  • 黑名单:未批准的项目

您应该将preg_matchfilter_var与标志FILTER_VALIDATE_REGEXP一起使用.请参阅下面的详细信息。

您正在谈论验证,因此您将看到:php.net/filter.filters.validate

// false
var_dump( !filter_var('string with spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[s]+/i'))) );

// true
var_dump( !filter_var('string_with_no_spaces', FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/[s]+/i'))) );

将上述内容包装在If语句中,就完成了。

这篇关于使用PHP了解黑名单和白名单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-24 00:25