这几天面试了几个前端,说说感受 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JohnLou
V2EX    问与答

这几天面试了几个前端,说说感受

  •  1
     
  •   JohnLou 2015-12-08 15:12:44 +08:00 40145 次点击
    这是一个创建于 3647 天前的主题,其中的信息可能已经有所发展或是发生改变。

    position 定位 4 种说不清,做个二级导航只会用 jquery ,原生 js 不会。

    xss 、跨域也不了解。

    虽然我也是半桶水,还是前端严重招忽略和鄙视啊。

    第 1 条附言    2015-12-08 15:53:07 +08:00
    总算可以补充了, xss 这个确实可以忽略,但像垂直居中这些搞不清楚 vertical-align 用在哪里,面试的人经常用 jquery ,然后问了下$('selectro')[0]表示什么,又不知道了。。。推荐面试的可以像我这样问这些问题。
    第 2 条附言    2015-12-08 16:33:28 +08:00
    我问的是$('#id')[0],表意不是很清楚。
    第 3 条附言    2015-12-08 16:58:28 +08:00
    我只是被安排来面试外包人员的,我只是个小炮兵。。不代表我司真实水平。
    102 条回复    2016-01-03 22:16:45 +08:00
    1  2  
    jarlyyn
        1
    jarlyyn  
       2015-12-08 15:19:41 +08:00
    position 4 中定位说不清不应该。

    2 级导航菜单用 jquery 没什么问题吧?

    跨域的确归前端管, xss 和前端关系不大吧……
    UnitTest
        2
    UnitTest  
       2015-12-08 15:28:23 +08:00
    哎 , 带几个新同事做了一年项目 . css 这些概念有的都忘掉了, 因为是其他同事写好静态页面.
    我现在主要就是写 spa 的 js 调用自己写的 java 的 rest 接口.
    这样是不是太 low 了...
    Hyperion
        3
    Hyperion  
       2015-12-08 15:29:57 +08:00
    position ,为什么老喜欢问这个… 估计都没用过一遍?二级导航,要动画要久一点。 xss ,跨域 不知道也略[哔]。

    应届表示前端职位现在好难找,不是年底忙不要,就是 hr 直接秒拒比较诚实的简历。
    JohnLou
        4
    JohnLou  
    OP
       2015-12-08 15:33:07 +08:00
    @Hyperion 网页中的页面经常用 position:relative 和 absolute 的组合吧。
    shyling
        5
    shyling  
       2015-12-08 15:39:24 +08:00
    我只知道 positive:absolute,relative,fixed 这三个=。=
    shyling
        6
    shyling  
       2015-12-08 15:40:34 +08:00
    倒是对跨域熟一点。。。遇到了关于跨域的好多坑,就熟了。。
    Hyperion
        7
    Hyperion  
       2015-12-08 15:45:38 +08:00
    @JohnLou 嗯,各种用, fixed 也比较常用,有时候 fixed 和 absolute 结合,两者之间切换也有。

    都是超级基础的东西-_-
    Hyperion
        8
    Hyperion  
       2015-12-08 15:47:57 +08:00
    @Hyperion 漏了一行: "也对, 问这个并没有什么问题."
    yangtze
        9
    yangtze  
       2015-12-08 15:54:29 +08:00
    @shyling 还有 static
    shyling
        10
    shyling  
       2015-12-08 16:03:11 +08:00
    @yangtze static 是不是默认的 0 0
    liiihhhh
        11
    liiihhhh  
       2015-12-08 16:13:08 +08:00
    如果只用 jquery 的话 不知道$('selectro')[0]不应该
    cha1
        12
    cha1  
       2015-12-08 16:20:44 +08:00
    不是前端,$('selector')[0] 应该是返回第一个符合要求的元素。不知道有没有理解错。。
    jas0ndyq
        13
    jas0ndyq  
       2015-12-08 16:21:35 +08:00
    LZ 是单词写错了么?
    'selectro'==
    otakustay
        14
    otakustay  
       2015-12-08 16:25:07 +08:00
    老实说 vertical-align 我也搞不清,少数搞不清的 css property 了……
    JohnLou
        15
    JohnLou  
    OP
       2015-12-08 16:31:34 +08:00
    @jas0ndyq 恩,是写错了。
    jasontse
        16
    jasontse  
       2015-12-08 16:35:55 +08:00 via iPad
    前端泡沫很严重啊,我觉得 @cqhtyi 你可以转方向了,不要再干苦逼的 SA 了。
    ryuutanyou
        17
    ryuutanyou  
       2015-12-08 16:37:50 +08:00
    身为一个设计,表示都知道啊,原生可以一边查,一边写出来。
    SilentDepth
        18
    SilentDepth  
       2015-12-08 16:42:48 +08:00
    二级导航是什么?
    Hyperion
        19
    Hyperion  
       2015-12-08 16:46:40 +08:00
    @jasontse 页面仔和前端区分还是蛮大的
    zzNucker
        20
    zzNucker  
       2015-12-08 16:47:08 +08:00
    @otakustay 搞不清 vertical-align 的我,感谢灰大给我信心。。。 QAQ
    w88975
        21
    w88975  
       2015-12-08 16:47:17 +08:00
    楼主问的前端问题都是一些基础,这都答不上来不应该
    如果要招厉害一点的,多问原生 JS 的原型 作用域等等,最好能做题,手写伪代码
    CSS 问各种预处理器 CSS3 的新特性 盒模型 Flex 布局等等
    包括一些前端工具流的实现.

    XSS 不知道可以原谅,毕竟这是安全行业才会涉及的,不过既然作为前端,也要学习一些 XSS 的知识
    acrisliu
        22
    acrisliu  
       2015-12-08 16:50:39 +08:00 via Android
    看了这个帖子,让我转前端的信心又增加了
    hqs123
        23
    hqs123  
       2015-12-08 16:55:52 +08:00
    这个应该很基础把,楼主都面试什么人了...
    shiny
        24
    shiny  
    PRO
       2015-12-08 16:55:56 +08:00
    看来 lz 公司我可以面试通过了,不知道薪水有多少,了解下行情。
    luoway
        25
    luoway  
       2015-12-08 17:13:25 +08:00
    表示第一行都会,第二行没实际使用过。
    已经秋招被挑走了。
    我想因为前端学得比较杂,学 1 年的和 3 个月的区别还是蛮大的。前者已经知道为什么要学这个,和学到什么程度就够。而后者则不小心就走偏了,比如写起 CSS3 : t/241074#reply23
    同样走偏的也有部分面试官,不是说楼主啊,见
    [[求职指南web 前端]前端校招面试有这样三种面试官]( t/230701#reply11)
    现在有些经验了,想想面试遇到的那堆坑人的面试官就来气,估计招去也不是干前端的,是全干的。
    Phariel
        26
    Phariel  
       2015-12-08 17:17:49 +08:00 via iPhone   1
    @zqhong jQuery 这样写是返回第一个符合的原生 dom 而不是 jQuery 对象 和.get(0)一样 返回 jQuery 对象是.eq(0)
    JohnLou
        27
    JohnLou  
    OP
       2015-12-08 17:22:04 +08:00
    @luoway 希望我不是你说的走偏那种,现在前端技术那么多那么杂,我自己也没了解那么多,我面试也只问一些基础的东西,都是我目前工作经常碰到的,技术、框架这些可以慢慢学,从基础可以看出平常他是怎么学习的了。
    learnshare
        28
    learnshare  
       2015-12-08 17:24:27 +08:00
    说实话,我参加面试也是发现自己不会背书。用习惯了高端工具,就容易忘掉基础。

    虽然背书式的面试我不赞成,但有些东西还是要张口就来的。
    jiongxiaobu
        29
    jiongxiaobu  
       2015-12-08 17:31:26 +08:00 via Android
    还可以问问哪些操作会触发 layout 哪些会 repaint 。
    cha1
        30
    cha1  
       2015-12-08 17:32:16 +08:00
    @Phariel 谢谢!
    strivek
        31
    strivek  
       2015-12-08 17:38:23 +08:00   1
    position 定位 4 种说不清,
    这个没有看过基础知识,默认 static ,这个很基础
    做个二级导航只会用 jquery ,原生 js 不会。
    对于做 mis ,非维护 PC 页面,主做移动端, Hybired ,活动页,移动端二级导航的确用的不多。
    不会写,表明没有认真准备面试
    xss,对于发布上线系统很成熟的公司,本身内部就有了 xss 检测,的确很多人不大关注。

    面试,我觉得更重要的是考察发现他会什么,是否满足自己需要,未来是否可培养。因为一些公司情况,没有接触很多底层知识,但是工作中她依然可以表现的很棒。我的一个同事,研究生毕业后一直在用 angular 做 mis 系统,工作效率态度都值得称赞,但是其基础技能不见得比培训班出来的人扎实。
    djyde
        32
    djyde  
       2015-12-08 17:49:23 +08:00
    应届生面前端职位确实很尴尬,我觉得很大的问题在于学校在前端工程方面的教育为 0.

    除非是真的自己早就对前端感兴趣并且花时间去学习,应届生对前端的理解可能还是 dreamweaver 画几个 div 、写写 css ,用 jquery 操作一下 DOM 。

    至少我们学校我们级就只开了门学 HTML 的必修(我的专业方向还叫『移动互联网应用开发』呢。。。),我最后还挂科了,因为里面有很多题是问你 dreamweaver 的相关操作。。。

    kenshinhu
        33
    kenshinhu  
       2015-12-08 17:51:30 +08:00
    ......但感觉这些会用也不一定可以做出东西吧?直接老老实实用 jquery 也不错啊~~~
    dong3580
        34
    dong3580  
       2015-1208 17:55:02 +08:00
    @learnshare
    用惯了 VS 写代码,还真不习惯背书,
    我一般都会直接要求去面试之前看清楚我写的简历,会哪些技能,不会哪些,这些都很老实的写的很清楚。
    yoa1q7y
        35
    yoa1q7y  
       2015-12-08 18:03:30 +08:00
    这种太多了,我之前连续几周面下来,基本全是这样的,离了 jQuery 基本没法干活,更别说面向对象、组件化、 ES5 、 ES6 等等
    后来面试反馈我都懒得写了,直接 copy 回复
    hienchu
        36
    hienchu  
       2015-12-08 18:06:05 +08:00
    我觉得前段不用面,直接看他写过的代码和项目就行了。前段技术本来就松散自由,能搞定问题才是王道
    Garwih
        37
    Garwih  
       2015-12-08 18:06:34 +08:00
    在什么时候会使用 $('#id')[0] 而不使用 document.getelementbyid('id')?
    JohnLou
        38
    JohnLou  
    OP
       2015-12-08 18:11:24 +08:00
    @Garwih 如果没有 id 呢。。
    hoythan
        39
    hoythan  
       2015-12-08 18:19:01 +08:00
    二级菜单用 jquery 做是什么心态?明显用 css 就可以完全搞定的东西,我并不觉得用 jquery 效率高。
    除非是需要用到 click 事件之类的,但是主要也是 CSS 类的操作呀...
    另外做了这么多年的 css,我竟然没有用过 position 的 static 。如果真的要问问题的话,应该是 5 个呀
    absolute fixed relative static inherit
    djyde
        40
    djyde  
       2015-12-08 18:19:50 +08:00
    @JohnLou 如果你 select 一个 id 返回的结果大于一个,那你的 html 有问题,不应该出现重复的 id
    hbkdsm
        41
    hbkdsm  
       2015-12-08 18:20:59 +08:00
    JohnLou
        42
    JohnLou  
    OP
       2015-12-08 18:24:12 +08:00
    @hoythan 赞同。
    mengzhuo
        43
    mengzhuo  
       2015-12-08 18:25:26 +08:00
    跨域需要注意 cookie 和源策略的配置、不过现实项目里一般是直接 301 跳个遍()
    xss 也是前端的工作、服务端负责校验
    楼主说的基本都知道大概

    不过我是游戏服务端的程序员~哈哈哈
    an168bang521
        44
    an168bang521  
       2015-12-08 18:39:27 +08:00
    @Garwih 把 jquery 对象转为原生的 DOM 对象时候会用到的$('#id')[0]的, jquery 选择的都是一个数组,[0]就可以直接从 jquery 模式切换到原生对象继续开发;除了这个,别的地方好像用不到;
    binux
        45
    binux  
       2015-12-08 18:39:30 +08:00
    前端为什么不要管 xss? 不能说随便传个字符串就用 $.html 往页面上插啊.
    feather12315
        46
    feather12315  
       2015-12-08 18:49:57 +08:00 via Android
    …就学过 bootstrap 与 mdl 的我都知道这。。。
    hbkdsm
        47
    hbkdsm  
       2015-12-08 18:52:04 +08:00
    @feather12315 mdl 是啥?
    Pastsong
        48
    Pastsong  
       2015-12-08 19:02:46 +08:00
    @hbkdsm
    Material Design Lite 我猜
    MaiCong
        49
    MaiCong  
       2015-12-08 19:07:39 +08:00 via iPhone
    我最近面试的几个人,给我的感觉就是会 DIV+CSS ,会用 jQuery 查找 DOM 就自称是前端工程师了。连 jQuery 有几个 AJAX 方法都不知道。

    工资要求都在 8000 左右。

    什么时候前端变成这样了?
    kisnows
        50
    kisnows  
       2015-12-08 19:11:50 +08:00
    上次老大让我去面了个前端,计算机本专业的研究生。
    然后让写个很简单点击一个 ul 下面多个 li 弹出 li 本身 index 的代码都没写出来,还是在我一直给提示的情况下。
    然而重点是,期望薪资要的比我现在拿的还多……
    Hyperion
        51
    Hyperion  
       2015-12-08 19:17:07 +08:00
    @MaiCong -_- 有的广告公司要求就是这样啊.

    @kisnows 事件代理吗? 原生吗?
    formatComb
        52
    formatComb  
       2015-12-08 19:17:24 +08:00
    问的这些很基础吧,大家为啥吐槽……
    JohnLou
        53
    JohnLou  
    OP
       2015-12-08 19:19:31 +08:00
    @formatComb 前端 = jquery , 哈哈
    formatComb
        54
    formatComb  
       2015-12-08 19:20:59 +08:00
    @JohnLou 你这就不专业了,明明是 ===

    23333
    kisnows
        55
    kisnows  
       2015-12-08 19:20:59 +08:00
    @Hyperion
    这个方法很多了。时间代理可以,直接走循环也可以。
    是要求原生,因为这个很简单啊,用原生要求不过分吧
    formatComb
        56
    formatComb  
       2015-12-08 19:22:00 +08:00
    @kisnows 并不过分
    父元素事件委托
    闭包循环

    很基础了。。。
    Hyperion
        57
    Hyperion  
       2015-12-08 19:25:44 +08:00
    @kisnows -_- 不过分, 不过惭愧, 没有智能补全, 不看手册背不出节点属性名...
    feather12315
        58
    feather12315  
       2015-12-08 19:29:00 +08:00 via Android
    @Pastsong 对!
    xwartz
        59
    xwartz  
       2015-12-08 21:28:31 +08:00
    = = 其实有时候面试也要看现场发挥的,有时候面试的时候脑子一热就说错了,然后面试官和自己都没又发现。。。
    当然基础的还是要掌握的
    crowds
        60
    crowds  
       2015-12-08 21:29:25 +08:00
    ..好久不看这些都忘掉了。。
    cxbig
        61
    cxbig  
       2015-12-08 21:31:57 +08:00
    个人觉得对于导航那里,倒是不必纠结用原生的还是 jQuery 。
    MinonHeart
        62
    MinonHeart  
       2015-12-08 21:39:01 +08:00 via Android
    精通 vertical-align 的人很少ㄟ( ̄ ̄ㄟ)
    think2011
        63
    think2011  
       2015-12-08 21:43:20 +08:00
    虽然我会不少东西,只是年前的几场面试都败在单词不会说上.. 悲哀:(
    chend
        64
    chend  
       2015-12-08 21:50:35 +08:00
    vertical-align 在 middle baseline 上确实难用~~ 感觉只是针对 inline 的 img 和 文字 。。

    lz 吐槽 jQuery 什么心态, 除非是 MVVM , 大部分 不用 jQuery , 写的复杂度、兼容 = 恶心死
    yangff
        65
    yangff  
       2015-12-08 21:56:29 +08:00
    垂直居中不是俩 div 套马
    JohnLou
        66
    JohnLou  
    OP
       2015-12-08 22:09:23 +08:00
    @cxbig 导航是问 position 的,他们都说用 jquery 实现,然后发现他们 left 和 top 这些都不会用。
    amrio
        67
    amrio  
       2015-12-08 22:10:09 +08:00
    vertical-align 和 line-height 是一个路子,理解 line-height 就差不多了。另外垂直居中我一直是 inline-block + vertical-align 大法!移动端直接上 flex !

    最近也面了好多个,有几个不错的,但是因为是实习,公司给不到他们想要的工资,其实也不是太高,就 7K 这样,水平是有的,如果已经毕业那么完全可以拿到。

    我现在还在招前端(初 /中级),工作地点在深圳车公庙,可以给到 1W 以上,活不是很多,有人想试试的吗?
    JohnLou
        68
    JohnLou  
    OP
       2015-12-08 22:10:22 +08:00
    @chend 问用过什么框架,说只用过 jquery ,然后继续问些原理性的都不会了,不是吐槽 jquery 。
    Hyperion
        69
    Hyperion  
       2015-12-08 22:10:32 +08:00
    @chend 是啊, 其实框架的价值最重要的特性是抹平浏览器差异.

    只可惜是被人用烂了...
    laogui
        70
    laogui  
       2015-12-08 22:17:36 +08:00 via Android
    茴香豆的茴字有四种写法
    cxbig
        71
    cxbig  
       2015-12-08 22:20:26 +08:00
    @JohnLou JS 用什么框架没有关系,不过 css 基础都不行,那确实太差。
    XDA
        72
    XDA  
       2015-12-08 22:28:30 +08:00 via Android
    看楼楼 Append 就知道楼楼被吐槽了,现在的 V2 充满了眼高手低的 Low 逼,习惯就好,信不信你说招个运维问 TCP 三次握手都说不清,然后就会有人吐槽你运维不需要懂三次握手,会配服务器就行了
    SonicY
        73
    SonicY  
       2015-12-08 22:32:18 +08:00
    这貌似是最最最基础的问题吧 = =
    crowds
        74
    crowds  
       2015-12-08 22:40:04 +08:00
    @XDA 要看是啥运维 安全的和数据库的也是运维。。
    你要是问有个三五年工作经验的 DBA 或者搞安全的这个
    人家估计直接走了。。
    TCP 三次握手只能说是人家萌新,啥都不懂,没啥好问的就只能问这些了,既然啥都不懂,也就没有招的必要了。
    Garwih
        75
    Garwih  
       2015-12-08 23:40:29 +08:00
    @JohnLou 你后面补充说问的是 $('#id') [0] 啊,这不就有 id 了。
    @an168bang521 有 id 的情况下,要获取原生 DOM 对象我还是倾向于使用 document.getElementById(),用 jQuery 毕竟多一层查询。
    zakokun
        76
    zakokun  
       2015-12-08 23:53:13 +08:00   1
    这种抱怨贴总会有一群人过来洋洋得意的过来炫耀自己啥也不会.真是不嫌丑
    XianZaiZhuCe
        77
    XianZaiZhuCe  
       2015-12-09 00:36:24 +08:00 via Android
    flex?
    YuJianrong
        78
    YuJianrong  
       2015-12-09 09:06:42 +08:00
    说明一下 vertical-align 绝对不是专用于垂直居中,主要作用还是 inline 元素的垂直对齐,但这个真的很难搞……
    learnshare
        79
    learnshare  
       2015-12-09 09:38:15 +08:00
    @dong3580 其实很多公司面试的人并没有看过应聘人的简历、作品(可能只是 HR 告诉他有个人来面前端),只知道他要面这个职位,并不了解他是什么水平。

    所以面试的时候有些糊弄,甚至随便应付一下,并没有针对性。而且往往会应聘人和职位要求不太匹配,也要硬面一次(我是遇到过了,我觉得被面的有些糊弄,不够真诚)。
    dong3580
        80
    dong3580  
       2015-12-09 10:21:06 +08:00
    @learnshare
    刚出来的时候遇到过很多次,真的是浪费自己的时间。

    所以我现在都会把要求都写在简历上,并告诉电话通知面试的人,请确认简历符合要求并发来贵司的介绍信息。会的自然没问题,不会的技能如果是硬指标,也不要面了,以免浪费大家时间。这样就能过滤掉并非诚意招聘的招聘需求。
    unknownservice
        81
    unknownservice  
       2015-12-09 11:02:26 +08:00
    你的要求是几年经验啊? 2 年以上答不上来感觉不应该吧。。。
    JohnLou
        82
    JohnLou  
    OP
       2015-12-09 11:06:22 +08:00
    @amrio 实习要 7 千啊,想前年我实习的时候给了 2000 都觉得开心得要死了,当然我还在学校。
    JohnLou
        83
    JohnLou  
    OP
       2015-12-09 11:07:02 +08:00
    @unknownservice 没经验要求,我也才工作不到半年,只想找个帮忙干活的。
    DualWield
        84
    DualWield  
       2015-12-09 11:10:22 +08:00
    @jarlyyn xss 怎么和前端关系不大了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    jarlyyn
        85
    jarlyyn  
       2015-12-09 12:09:15 +08:00
    @DualWield

    作为一个从服务器到后台到前端都做的人来说

    xss 的确和前端关系不大。

    xss 也不该和前端有关系。

    所谓的 xss 本质来说也是正常的网页代码片段。

    判断这个代码是否是恶意的怎么会由前端来进行呢?

    前端在这一个部分做的不应该是输出后台抛过来的内容?

    唯一和前端有关的是怎么去解析后台抛的内容吧?

    但这个是解析的问题,就如同显示的是 某种过滤规则的代码 /markdown/bbocde 之类。

    xss 本身和前端能有啥关系呢……
    nino
        86
    nino  
       2015-12-09 12:13:00 +08:00
    我的经验来看, position 的问题可以刷掉 60%以上的候选人。
    chemzqm
        87
    chemzqm  
       2015-12-09 12:40:08 +08:00
    @jarlyyn ajax 都这么多年了,别告诉我你的页面全是后端输出的,
    如果页面上使用类似 innerHTML 的方法渲染请求来数据,那就很有可能造成 xss 泄露
    成熟的框架类似 angular 和 react 都会把数据 escape 再渲染到 dom
    jarlyyn
        88
    jarlyyn  
       2015-12-09 13:27:54 +08:00
    @chemzqm

    难道我说的不就是 ajax 的流程么?

    用不用 Innerhtml 重要么?

    本质上 escapde 就是种 decode 方法。

    因此,做接口的时候需要明确输出的代码该怎么 decode,不对么?

    如果会有 XSS 问题

    也是 “后台不加处理的输出了原始的 html 代码”的问题。

    xss 问题归结到前端不是和后台的数据验证交由前端来处理一样么?
    jarlyyn
        89
    jarlyyn  
       2015-12-09 13:31:10 +08:00
    @chemzqm

    更确切点说。

    作为一个后台接口 /模型来说。

    一个文档告诉前端,这个数据内容是什么,很重要吧?

    纯文本?

    html?

    markdown?

    bbcode?

    先想清楚这个,再来考虑问题是不是前端的问题吧。

    大部分安全问题不该由前端来负责,这个是必须的。
    DualWield
        90
    DualWield  
       2015-12-09 14:23:18 +08:00
    @jarlyyn xss 分为 2 类:存储型 XSS 与反射型 XSS,你说展现后台传送的数据属于存储性的。反射性的那就和后端没什么关系了
    fwings260
        91
    fwings260  
       2015-12-09 14:37:24 +08:00
    刚开始学都是用原生
    后来发现用框架方便,就开始 jquery
    然后。。。原生就不会写了。。。

    然并卵,老子转行了!
    nino
        92
    nino  
       2015-12-09 14:40:09 +08:00
    @jarlyyn 就算是存储型 XSS 也是需要前端后端工程师都重视的,你不能确保每个点都做过 escape ,所以前端应该在前端的范畴来预防
    lijingyu68
        93
    lijingyu68  
       2015-12-09 14:45:02 +08:00
    我一直觉得前端工程师的定位是写 js ,而 css 是美工来写的。所以,前端面试应该重逻辑和算法、服务器等等,而 CSS 是慢慢积累出来的经验,对前端影响不大。
    jarlyyn
        94
    jarlyyn  
       2015-12-09 14:47:06 +08:00
    @DualWield

    展现后台传送的数据和存储性不存储性有什么关系…………

    你说的问题无非是 前端在 JS/模板中不加处理的把部分 get 参数 /hash 等当作 html 来处理了呗。

    也就是前端跳过了后台去处理罢了。

    也就还是那个问题

    “后台的数据验证交由前端来处理”

    当然,你一定要说你做的是网页 app/工具,没有后台。

    那 ok,是我的错。

    理论上,前端也能操作数据库不是么?
    jarlyyn
        95
    jarlyyn  
       2015-12-09 14:48:30 +08:00
    @nino

    escape 本身是一种 Decode 的方式。

    我认为 不能作为一种 默认的 处理方式。

    decode 的方式本身就是需要前后端商议的部分。
    nino
        96
    nino  
       2015-12-09 14:51:11 +08:00
    @jarlyyn 你这是最理想化的情况,实践中你调用的接口可能并没有这个商议的过程,或者是第三方的接口,如果前端工程师没有 XSS 的基本概念,你的应用是很脆弱的。
    luoway
        97
    luoway  
       2015-12-09 14:54:08 +08:00
    @lijingyu68 事实上很多稍微复杂点的效果就要用 JS ,所以你不能把偏设计的前端贬为美工,虽然他 /她得耍 PS
    jarlyyn
        98
    jarlyyn  
       2015-12-09 14:58:09 +08:00
    @nino

    OK 。你可以认为这是理想化的情况。

    那么,这个问题其实会更复杂。

    也就怎么默认处理后台抛过来的长的像 html 的东西。

    我个人觉得,直接简单粗暴的 escape ,也不是万能的吧?

    至少在我的观点中,后端管数据,前台管表现。

    xss 这种东西牵涉到数据的处理与验证。个人觉得不适合让前端来处理。

    最后,个人意见。

    如果前端工程师没有 xss 的基本概念,应用可能是很脆弱的。

    但依靠前端工程师去做 xss,应用一定是脆弱的。

    毕竟,现在 api 调用+web/app/mobile 的形式也很多吧。这东西不从源头上去处理真的好么?
    nino
        99
    nino  
       2015-12-09 15:02:20 +08:00
    @jarlyyn 我并不是否认你的观点,但是百密总有一疏,我们能做的就是尽量从各个方面降低 XSS 的风险。所以前端工程师也是有必要了解 XSS 的。
    jarlyyn
        100
    jarlyyn  
       2015-12-09 15:04:07 +08:00
    @nino

    的确,了解肯定还是有好处的。

    毕竟有时候可能做一些绕过后台的页面。比如在线页面,比如在线工具。比如一个简单的前台显示页。设置是为了降低服务端的负担。

    我有点思维定势了。
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1202 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 23:46 PVG 07:46 LAX 15:46 JFK 18:46
    Do have faith in what you're doing.
    ubao msn 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