推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
waiaan

前端什么情况下需要过滤用户的输入?

  •  
  •   waiaan · Feb 14, 2020 · 5018 views
    This topic created in 2455 days ago, the information mentioned may be changed or developed.

    谢谢。

    Supplement 1  ·  Feb 17, 2020
    是过滤,防止攻击,不是校验。
    23 replies  •  2020-02-15 14:00:08 +08:00
    xingyuc
    xingyuc
    Feb 14, 2020 via Android❤️1
    1
    任何情况下
    waiaan
    waiaan
    OP
    Feb 14, 2020
    2
    @xingyuc 能否讲讲为什么?谢谢。
    timothyqiu
    timothyqiu
    Feb 14, 2020❤️10
    3
    前端过滤用户输入的目的是提高用户体验,后段过滤用户输入的目的是维持业务逻辑正确和安全。
    bzw875
    bzw875
    Feb 14, 2020
    4
    跨站脚本攻击( Cross Site Scripting )的时候
    Austaras
    Austaras
    Feb 14, 2020
    5
    3l 是对的
    sonxzjw
    sonxzjw
    Feb 14, 2020❤️1
    6
    同意 1 楼的

    有一个原则 [系统在任何时候都不能相信用户的所有输入] ,所以任何情况下都需要过滤验证。为了安全性、健壮性。
    murmur
    murmur
    Feb 14, 2020
    7
    校验可以提高体验,但是做多少过滤后端都不能省
    涉及可能有用户输入显示的地方必须做 XSS 过滤
    chen1164162915
    chen1164162915
    Feb 14, 2020
    8
    前端不需要过滤,后端需要
    mnssbe
    mnssbe
    Feb 14, 2020 via iPhone
    9
    前端可以检测数据格式,不需要过滤
    tslling
    tslling
    Feb 14, 2020 via Android❤️2
    10
    认同 4 楼的看法。但是我记得以前 v2 上有个人发帖求打车软件不要在前端校验手机号码了,所以前端校验的话要注意保持更新,不然提升体验的就可能变成降低体验甚至不可用啦。


    @sonxzjw 建议看看 4 楼的原则,你说的考虑更适合在后端过滤
    vicvinc
    vicvinc
    Feb 14, 2020 via iPhone
    11
    同 3
    wooyuntest
    wooyuntest
    Feb 14, 2020
    12
    always
    MeteorCat
    MeteorCat
    Feb 14, 2020 via Android
    13
    同 3
    sonxzjw
    sonxzjw
    Feb 14, 2020
    14
    @tslling 我还是保留原来的意见。为了体验而降低安全性或者只靠后端我认为不可取。
    为了寻找平衡点,有些地方需要放弃。就如同数据库设计的逆范式一样。

    目前前端已经都有 nodejs 之类的前端了,前端已经或者很多时候需要做更多的逻辑处理了,安全性的要求已经不比后端低多少了。如果是 163 时代的话还可以这样做。

    目前国内很多系统、app 都有很好的体验性,但却存在很大的安全隐患,只是尚未爆发而已。这是后话,展开就大了。

    谢谢你建议,体验感能在前期对系统更迅速的获得认同,就取决于设计者了。
    Xusually
    Xusually
    Feb 14, 2020
    15
    任何时候
    shaohan0228
    shaohan0228
    Feb 14, 2020
    16
    任何情况下
    mostkia
    mostkia
    Feb 14, 2020
    17
    1 有条件的情况下:任何时候都要过滤用户输入。
    2 基于安全考虑的过滤:任何会被保存的输入内容(但一般输入的内容都会被保存,所以基本等价于第一条)
    mostkia
    mostkia
    Feb 14, 2020
    18
    补充一下,前台过滤不等于后台无需过滤,安全性来讲,关键还是在后台,前台只能防君子,不防小人(一般前台只是为了提高用户体验而过滤输入)。
    otakustay
    otakustay
    Feb 14, 2020
    19
    前端的过滤和校验是为了给用户更好的体验,不是为了安全性
    所以什么时候:能够给用户更好的体验的时候
    jybox
    jybox
    Feb 14, 2020
    20
    不必要过滤输入,但必须要过滤(转义)输出,否则对于会显示来自其他用户输入的内容的网站,就会有跨域脚本攻击( XSS )的风险。很多人没有意识到这一点是因为大部分的前端框架(如 React )都是默认会对所有的输出进行转义的。
    huijiewei
    huijiewei
    Feb 14, 2020
    21
    前端验证是提高用户体验的
    lemon6
    lemon6
    Feb 14, 2020
    22
    账号登录注册的文本框,过滤掉前后空格,因为用户喜欢复制,会多复制空格导致密码错误。
    xingyuc
    xingyuc
    Feb 15, 2020 via Android
    23
    @waiaan 三楼说的对,而且就算前台不校验手机号,身份证号等,也要判断格式是否是想要的不会出现数字框出现汉字
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3406 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 10:31 · PVG 18:31 · LAX 02:31 · JFK 05:31
    ♥ Do have faith in what you're doing.