PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-消毒多选选择列表的最佳方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我知道使用MySQLi和PDO的好处,但是,我想知道清除以下选择的最佳选择清单的最佳方法是:

首先,使用MysqL_real_escape_String的显而易见的方法

$clean_POST = array();
$clean_POST = MysqL_real_escape_String($_POST['foo']);

但是,是否存在恶意用户可以通过大量POST值发送并设法阻塞服务器的风险?答复here似乎暗示这是可能的.

通过创建白名单并对其进行遍历检查POST中的精确匹配项,可以缓解此问题:

$_POST['foo'] = array('a', 'b');
$whitelist = array(‘a’, 'b', 'c', 'd');
$clean_POST = array();

if (isset($_POST['foo']))
    {
    foreach ($whitelist as $value)
        {
        if (in_array($value, $_POST['foo']))
            {
            $clean_POST[] = $value;
            }
        }
    }

但是,与MysqL-real-escape-String方法相比,使用这种方法可能在处理时间上有明显的劣势,尤其是在有多个字段需要同时处理的情况下?

虑到安全性和性能,是否可以将一种方法视为优越方法

解决方法:

性能与安全性在许多编程环境中都是不合适的.您的输入检查很可能会导致数据库更新或插入查询,这比“复杂”的输入检查要花费100到1000秒的时间.

虑一下,您或其他人将在1(2,5,20)年的时间内处理您的代码,而不知道为什么或是否做了某些事情.最佳做法是检查一组允许的条目,否则您将没有下拉列表.另外,在下拉列表的显示和表单提交之间,此值列表可能已更改,因此您再次需要对其进行检查.

所有主要框架都以这种方式进行检查,因此迟早您将得出相同的结论.

大佬总结

以上是大佬教程为你收集整理的php-消毒多选选择列表的最佳方法全部内容,希望文章能够帮你解决php-消毒多选选择列表的最佳方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: