全面的安全性与用户输入 - PHP,MySQL的[复制](Comprehensive Securi

2019-09-20 09:44发布

可能重复:
什么是用于消毒用户输入与PHP的最佳方法是什么?
什么是最好的PHP输入消毒的功能呢?
最终的清洁/安全功能

目标 :正确过滤从文本框的所有输入进入数据库,然后将其输出到页面之前。 对于我的使用情况下,我需要防止潜在的问题,而不是消除数据输入。 此外,字符集被明确地在两个HTTP报头和META标记以防止畸形编码问题设置为UTF-8。 该数据库也被设置为UTF-8。

规格 :PHP,MySQL和Apache的

示例代码

    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注入等)的是这仍然脆弱?

一个巨大的感谢人谁可以提供帮助。 这是我第一次发贴,虽然我总是转身所以首先用于查找答案,我的问题。 不幸的是,这一次我找不到任何回答我的问题,任何其他问题,只是其中的一小部分。

Answer 1:

XSS攻击

通过使用用htmlspecialchars()每当你输出用户输入的内容,你可以保证你将是安全的XSS攻击。

SQL注入

史蒂夫·弗里德尔提供在自己的网站SQL注入的一些例子,输入清理的局限性: http://www.unixwiz.net/techtips/sql-injection.html

即使你的代码可能是从mysql_escape_string()和你最好使用参数化的SQL,并完全消除SQL注入的危险SQL注入攻击安全。 如果您在使用PHP PDO或mysqli的,而不是弃用MySQL的功能也将更加安全。



文章来源: Comprehensive Security Against User Input - PHP, MySQL [duplicate]