首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查用户输入。最佳实践?

检查用户输入。最佳实践?
EN

Stack Overflow用户
提问于 2012-02-08 05:13:51
回答 3查看 106关注 0票数 2

嗨,我想知道检查用户输入的最佳实践是什么。

我有代码:

代码语言:javascript
复制
$currencyConverter = new CurrencyConverter( $_GET['from'], $_GET['to'], $_GET['amnt'] );

在发送到类之前检查用户输入是否有效是最好的,还是应该只在方法构造函数中编写一个检查?

干杯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-08 05:16:58

为了一个简单的事实,我总是坚持及早验证用户输入:

如果你在以后的中关闭它,你会忘记的。

遵循该规则,并将经过清理的输入传递回您的模型和视图。

票数 3
EN

Stack Overflow用户

发布于 2012-02-08 05:21:46

对于我的所有项目,我都向引入了一个策略,在任何情况下都不要在我的代码中使用$_GET或$_POST变量。

取而代之的是我的on函数,比如

代码语言:javascript
复制
function get($name, $format) {
    switch ($format) {
#        case 'sqlstring', 'int', 'double', 'htmlstring', 'url', 'path', etc...
    }
}

此外,尽可能使用白名单!如果您只能接受三个字符串,请确保所有其他字符串都验证为false。

票数 3
EN

Stack Overflow用户

发布于 2012-02-08 05:16:06

你的目的关键字是“白名单”:

您应该拥有每个输入的所有可用值的列表。如果不是每种组合都是可能的,还会列出所有允许的组合。

您可能还想阅读这篇关于OWASP项目的文章:https://www.owasp.org/index.php/Data_Validation#Sanitize_with_Whitelist

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9184023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档