首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对用户输入的综合安全性- PHP,MySQL

针对用户输入的综合安全性- PHP,MySQL
EN

Stack Overflow用户
提问于 2012-07-28 20:07:44
回答 1查看 1.1K关注 0票数 0

可能重复: What's the best method for sanitizing user input with PHP? What are the best PHP input sanitizing functions? The ultimate clean/secure function

目标:在输入DB之前,正确清理文本框中的所有输入,然后将其输出到页面。对于我的用例,我需要防止潜在的问题,同时不消除数据输入。此外,在HTTP头和元标记中,字符集显式地设置为UTF-8,以防止格式错误的编码问题。DB也被设置为UTF-8。

规范:PHP,MySQL,Apache

示例代码

代码语言:javascript
复制
    function secureinput($input)
    {
       $input = htmlspecialchars($input, ENT_QUOTES ,'UTF-8');
       $input = strip_tags($input); //fail-safe for anything that gets through
       $input = mysql_real_escape_string($input);

       return $input;
    }

问题:哪些攻击向量(XSS、SQL注入等)这还容易受伤害吗?

感谢任何能帮忙的人。这是我第一次发帖,尽管我总是第一次找到问题的答案。不幸的是,这一次我找不到任何其他问题来回答我的问题,只是其中的一小部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-28 20:21:37

XSS攻击

通过在输出用户输入的内容时使用htmlspecialchars(),可以确保您不受XSS攻击。

SQL注入

Steve在他的网站:http://www.unixwiz.net/techtips/sql-injection.html上提供了一些SQL注入和输入消毒限制的例子。

尽管您的代码可能在使用mysql_real_escape_string()的SQL注入攻击中是安全的,但是最好使用参数化的mysql_real_escape_string并完全消除secure的风险。如果在PHP中使用PDO或mysqli,而不是不推荐的mysql函数,您也会更加安全。

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

https://stackoverflow.com/questions/11704270

复制
相关文章

相似问题

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