Nginx防止sql-inject规则

post by rocdk890 / 2011-6-2 11:31 Thursday linux技术

error_page 519 /519.html;
        if ($request_uri ~* "(cost\()|(concat\()") {
                return 519;
        }
        if ($request_uri ~* "[+|(%20)]union[+|(%20)]") {
                return 519;
        }
        if ($request_uri ~* "[+|(%20)]and[+|(%20)]") {
                return 519;
        }
        if ($request_uri ~* "[+|(%20)]select[+|(%20)]") {
                return 519;
        }

基本sql注入原理:
通过union all 联合查询获取其他表的内容(如user表的用户密码)

防御原理:
1. 通过以上配置过滤基本的url中的注入关键字;
2. 当然,数据库中的用户密码得加密存放 ;
3. php程序进行二次过滤,过滤GET和POST变量中的关键字;
4. 生产环境关闭PHP和MySQL的错误信息。

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-6.html

标签: nginx sql注入

评论: