gpt4 book ai didi

security - 你什么时候信任数据/变量

转载 作者:行者123 更新时间:2023-12-04 06:47:54 24 4
gpt4 key购买 nike

我们都知道所有用户数据、GET/POST/Cookie 等都需要进行安全验证。

但是你什么时候停止,一旦它被转换成局部变量?

例如

if (isValidxxx($_GET['foo']) == false) {
throw InvalidArgumentException('Please enter a valid foo!');
}

$foo = $_GET['foo'];
fooProcessor($foo);

function fooProcessor($foo) {
if (isValidxxx($foo) == false) {
throw Invalid......
}
//other stuff
}

对我来说那是最重要的。
但是如果你从数据库加载值怎么办...

我希望我说得通:)

最佳答案

关键是你的程序的外部(用户)输入是不可信的,需要在使用前进行验证。该输入是从 Web 表单、配置文件还是用户可访问的数据库派生的并不重要。代码的用户总是可以恶意或意外地提供垃圾值。但是一旦验证发生,重新验证这些值就没有意义了——您必须信任自己的组件。

在您的代码的唯一控制下的数据库可以被认为只是您受信任系统的另一个组件。此类数据库中的值无需验证,除非您有理由相信它们可能因外部环境而损坏。例如,您可能想要验证通过网络传输的值。

关于security - 你什么时候信任数据/变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com