使用PHP了解黑名单和白名单 [英] Understanding Blacklists and Whitelists with PHP

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

问题描述

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

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

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

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

推荐答案

我知道使用白名单时,它只使用其中的所有内容 对于黑名单,它使用除 列表。

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

preg_place

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

但是,如果我不想用空格将值存储在数据库中,该怎么办呢?有没有办法做到这一点,以便出现一条错误消息呢?使用IF语句,例如.

您正在谈论验证,因此您将看到: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了解黑名单和白名单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆