有没有开源的那种因噎废食的防止 SQL 注入、XSS 的 PHP 代码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要回答技术问题时复制粘贴 AI 生成的内容
bugmenein
V2EX    程序员

有没有开源的那种因噎废食的防止 SQL 注入、XSS 的 PHP 代码?

  •  
      bugmenein 2016-10-14 20:38:54 +08:00 5882 次点击
    这是一个创建于 3285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似百度云加速和 360 网站卫士的防止 SQL 注入、 XSS

    CloudFlare 免费版完全不管

    不因噎废食会死星人

    第 1 条附言    2016-10-15 12:58:21 +08:00
    完全过滤掉提交 SQL 语句和 HTML 和 Javascript 代码,不考虑误杀
    37 条回复    2016-10-17 15:39:58 +08:00
    qiayue
        1
    qiayue  
    PRO
       2016-10-14 20:48:12 +08:00 via Android
    我 90%确定你搞错因噎废食这个成语的含义
    cnsean
        2
    cnsean  
       2016-10-14 20:56:44 +08:00
    自己写个 github 有开源可以参考
    就问你怕不怕
    6IbA2bj5ip3tK49j
        3
    6IbA2bj5ip3tK49j  
       2016-10-14 20:59:32 +08:00 via Android   16
    我教你怎么因噎废食。
    不用数据库就好了。
    bdbai
        4
    bdbai  
       2016-10-14 21:03:52 +08:00 via Android
    找个 ORM 基本可以防止 SQL 注入。
    XSS 嘛 输出用 htmlentities 包一下就行 前端用 textContent 赋值。
    SilentDepth
        5
    SilentDepth  
       2016-10-14 21:14:06 +08:00
    @xgfan 这是「因噎废食」的正确理解
    Srar
        6
    Srar  
       2016-10-14 21:20:14 +08:00   1
    DiamondbacK
        7
    DiamondbacK  
       2016-10-14 21:43:21 +08:00
    神他妈因噎废食。 3L 真相。
    bombless
        8
    bombless  
       2016-10-14 21:50:24 +08:00 via Android
    日度撕逼大戏, 233
    DesignerSkyline
        9
    DesignerSkyline  
       2016-10-14 21:50:32 +08:00
    @xgfan 23333333333333
    billlee
        10
    billlee  
       2016-10-14 21:51:37 +08:00
    用「因噎废食」形容 WAF 确实也没错啊
    gouchaoer
        11
    gouchaoer  
       2016-10-14 23:13:00 +08:00 via Android
    鸟哥的 taint ,检测没有处理过的用户变量
    htmlpurifier ,速度感人
    实在不放心你就把源码放 docker 里面跑
    还不放心,那就 beast 加个密吧
    最终极的办法,入口文件弄个中间件检查 get/post 里的 sql 注入 /xss/异常数据,然后把数据记录下来方便之后分析,然后把用户 ip 放到 redis 里,另外有个 php-cli 盯着 redis 把黑客 ip 加入 iptables 来 ban 几个小时
    gouchaoer
        12
    gouchaoer  
       2016-10-14 23:14:41 +08:00 via Android
    不要虚,就是干
    izoabr
        13
    izoabr  
       2016-10-14 23:20:04 +08:00
    还有个老的 WebSecurity
    shlabc
        14
    shlabc  
       2016-10-14 23:25:42 +08:00
    Senorsen
        15
    Senorsen  
       2016-10-15 01:14:36 +08:00 via Android   1
    想了很久, lz 的因噎废食到底是什么意思
    mogita
        16
    mogita  
       2016-10-15 03:08:17 +08:00
    @Senorsen 可能是废寝忘食。
    lslqtz
        17
    lslqtz  
       2016-10-15 08:12:32 +08:00
    我用 txt 文本保存数据,这叫因噎废食。
    skydiver
        18
    skydiver  
       2016-10-15 09:24:11 +08:00 via Android   2
    @Senorsen 是想说一劳永逸吧
    khjian
        19
    khjian  
       2016-10-15 09:47:25 +08:00
    这个因噎废食到底啥意思?
    dark456852
        20
    dark456852  
       2016-10-15 10:59:19 +08:00
    MARK,看看大神们推荐
    gamexg
        21
    gamexg  
       2016-10-15 11:05:12 +08:00   2
    我一直觉得纳闷,这种东西能用?
    技术站要是用户提交个带 sql 语句的文章是不是就给封了,或者文章里面的半角分号全部变成全角分号,弄得拷贝的代码全部挂掉?

    这个只能记录异常的行为后人工分析吧?
    Technetiumer
        22
    Technetiumer  
       2016-10-15 11:08:27 +08:00 via Android   1
    @gamexg 我猜这就是因噎废食
    qiayue
        23
    qiayue  
    PRO
       2016-10-15 12:00:52 +08:00
    @skydiver 我觉得你猜对了,只有一劳永逸放上去读的通
    bugmenein
        24
    bugmenein  
    OP
       2016-10-15 12:16:37 +08:00
    @gamexg
    @Technetiumer

    对对对,因为百度云加速和 360 网站卫士就是这样。
    Vhc
        25
    Vhc  
       2016-10-15 12:42:35 +08:00
    @bugmenein 「因噎废食」就是在服务器上卸载数据库,然而 你又是如何理解这个成语的呢?
    bugmenein
        26
    bugmenein  
    OP
       2016-10-15 12:56:06 +08:00
    @Vhc 完全禁止提交 SQL 语句和 HTML 和 Javascript 代码,不考虑误杀
    sutra
        27
    sutra  
       2016-10-15 13:36:26 +08:00
    因噎废食的方案有很多,比如卸载 PHP 。
    orvice
        28
    orvice  
       2016-10-15 14:29:35 +08:00
    程序上应该做的事情为什么要靠 cdn 。。。
    shinwood
        29
    shinwood  
       2016-10-15 14:33:52 +08:00 via iPhone
    终极解决方案难道不是过滤掉所有半角符号以及 26 个半角英文字母,只允许中文字符就好了。
    bugmenein
        30
    bugmenein  
    OP
       2016-10-15 14:59:15 +08:00
    @orvice 所以来发帖了,
    有没有开源的那种因噎废食的防止 SQL 注入、 XSS 的 ** PHP 代码 **?
    只是想找个厉害的正则什么的。。。完全不考虑误杀,最好是 @gamexg 所说的那样。。。
    gamexg
        31
    gamexg  
       2016-10-15 15:04:20 +08:00
    @shinwood 好主意,还可以将半角符号及英文字母全部替换成全角符号。
    gearh
        32
    gearh  
       2016-10-15 15:13:14 +08:00
    reus
        33
    reus  
       2016-10-15 17:33:13 +08:00
    今时今日 PHP 开发者还要操心 SQL 注入的问题?
    我 10 年前写 PHP 就知道要用 prepare statement 了。
    hicdn
        34
    hicdn  
       2016-10-15 18:44:58 +08:00
    why1
        35
    why1  
       2016-10-15 19:12:15 +08:00
    因噎废食(select)
    Koishi
        36
    Koishi  
       2016-10-15 19:33:17 +08:00
    因噎废食...
    我认为以下建议比较符合题意
    不用数据库
    orvice
        37
    orvice  
       2016-10-17 15:39:58 +08:00
    @bugmenein 没有用的 用正则还是会被注入, pdo 参数绑定是解决方法。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     933 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 18:44 PVG 02:44 LAX 11:44 JFK 14:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86