繁体   English   中英

适当地保护编辑控件免受SQL注入和废话字符的影响

[英]Properly protect edit control from SQL injection and nonsense characters

简介和相关信息:

我有一个编辑控件,用户应在其中输入公司名称。 编辑控件支持区域设置

问题:

我希望适当地保护它免受SQL injection攻击和用户输入无用字符。

我为解决问题所做的努力:

我正在考虑在子类化过程中响应WM_CHAR放弃冒号分号 ,并响应EN_CHANGE再次执行验证。 如果出现问题,我会通知用户并禁用“保存”按钮。

由于我的应用程序支持区域设置,因此我需要具有区域设置的功能来测试输入字符。

到目前为止,我发现了IsCharAlphaIsCharAlphaNumeric似乎对语言环境IsCharAlphaNumeric了解(我的英语不是最好的英语,所以也许我误读了MSDN文档,对此我深表歉意)。

我也在这里搜索了类似的问题,但没有找到。

题:

放弃分号只会解决问题,还是我需要考虑其他一些字符?

我是否在使用子类+ EN_CHANGE的“正确轨道”上,还是有更好的方法来实现这一目标? 如果可以的话,我可以指出正确的方向吗?

谢谢。

最好的祝福。

仅当您使用用户输入动态创建SQL语句而不先验证/转义输入时,才会发生SQL注入攻击。 不要动态创建SQL语句! 使用参数化查询或存储过程,则完全没有SQL注入的风险。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM