国内互联网公司,为何不注重前端安全

2017-04-03 10:09:58 +08:00
 peneazy

作为一名前端,感觉很多公司的前端安全非常脆弱。就这两年面试的公司来说,很多创业公司不注重前端安全。虽然 IE8 以上浏览器以及 Vue.js 这一类框架对 XSS 攻击做了一定的防范,但仍免不了无意或故意写出有漏洞的代码,随随便便把 cookie 给搞走。当然,很多公司的前端只用 jQuery 就不提了,很多前端流行:老夫拿起 jQuery 就是干。真想反问, jQuery 尤其是 jQuery 的早期版本没有做非常好的 XSS 防范,你真能时时刻刻考虑自己写的代码是否有 XSS 漏洞?

不太了解后端,感觉大部分公司后端安全做的还可以, SQL 注入什么的感觉大家都挺注意的。只是有些疑问,为何前端安全那么脆弱。

8364 次点击
所在节点    程序员
52 条回复
daryl
2017-04-03 10:12:53 +08:00
其实讲道理, xss 也该是后端防范的= =
dubuqingfeng
2017-04-03 10:17:16 +08:00
其实讲道理, xss 也该是前后端防范的= =,更何况还有 csrf ,点击劫持,造成的蠕虫,说明白了还是水平太差
brucefeng
2017-04-03 10:17:34 +08:00
前端即使做了安全,后端还会继续做的。前端承担交互功能,做安全没什么实质性作用。
lujiajing1126
2017-04-03 10:18:26 +08:00
不觉得安全和用什么框架,类库有关系
chunqiuyiyu
2017-04-03 10:19:24 +08:00
不觉得安全和用什么框架,类库有关系 +1
littleylv
2017-04-03 10:34:33 +08:00
不觉得安全和用什么框架,类库有关系 +2
littleylv
2017-04-03 10:37:59 +08:00
先问是不是,再问为什么
sammo
2017-04-03 10:38:09 +08:00
私以为是这只是不重视集成测试的诸多后果之一
momocraft
2017-04-03 10:38:38 +08:00
(只会用 API) 和 (对安全没概念) 可能有关联性。要保证安全也需要能深入研究。
peneazy
2017-04-03 10:45:16 +08:00
@lujiajing1126
@chunqiuyiyu
@littleylv
就 Vue 来说,若其它环节都没有做任何防范处理(当然这种可能非常小), 第二种写法就存在 XSS 风险
<span>Message: {{ msg }}</span>
<span>Message: {{{ msg_html }}}</span>
wuling
2017-04-03 10:59:50 +08:00
私以为是大部分公司不重视或者没有相关保障措施。安全是个很复杂的东西,不能光靠程序员自律,一来安全知识领域很深,普通程序员最多做到最基本的注意事项。二来受限于业务进展,顾不了那么多东西。如果公司没有安全部门,没做专门安全测试,光靠自律就能安全了?不可能的
sagaxu
2017-04-03 11:04:51 +08:00
后端的职责,任何数据过来,都不该破坏或者影响其它正常数据,如 SQL 注入。
前端的职责,后端返回的任何数据,展示时都自己做好转义,比如 XSS 。
前后端一起合作完成的,例如 CSRF 。

后端在 controller 里统一转义,或者清洗后再入库,都是中了 PHP Magic Quotes 的遗毒
muziki
2017-04-03 11:13:53 +08:00
因为有价值观加成啊
什么?你说这儿不安全?罚你五个月饼好了
peneazy
2017-04-03 11:18:07 +08:00
@sammo
@momocraft
@wuling
@sagaxu 嗯,普通程序员有安全概念就很难得了,考虑这么多是会影响业务开发进度,关键还是要有安全部门
peneazy
2017-04-03 11:19:18 +08:00
@muziki 从中秋到清明,这个梗还在。。。
Moonless
2017-04-03 11:24:20 +08:00
@peneazy
双大括号会将数据解释为纯文本,而非 HTML 。为了输出真正的 HTML ,你需要使用 v-html 指令:
<div v-html="rawHtml"></div>
被插入的内容都会被当做 HTML —— 数据绑定会被忽略。注意,你不能使用 v-html 来复合局部模板,因为 Vue 不是基于字符串的模板引擎。组件更适合担任 UI 重用与复合的基本单元。
你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容插值。

摘自 vue 文档
Biwood
2017-04-03 11:27:55 +08:00
360 网站监测 jQuery1.x 的最新版有 XSS 漏洞,能具体说说什么样的漏洞么,全世界那么多网站都在用的库,波及范围太广了吧
cjyang1128
2017-04-03 11:27:59 +08:00
xss 现在危害性也不是很高,只要后端返回 cookie 的时候把关键性的 cookie (比如 session id )设置为 secure 就行了。其他的 xss 只能恶心恶心人
EyreFree
2017-04-03 11:31:26 +08:00
钱没花到位或者压根不在乎,一般是亡羊补牢,没人搞我或者有人搞但是没出大乱子就不管。

举一个不太适当的例子:创业公司花三千五招了个实习生搞前端还指望什么安全...
Luckyray
2017-04-03 11:32:27 +08:00
没钱啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX