作为一个前端er,掌握必要的网络安全知识是必要,下面我整理了几种常见的网络攻击方式及防御技巧,一起来谈谈web安全性问题及对策吧,希望对大家有所帮助。

网络安全小知识:

CSRF防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般CSRF防御液都在服务端进行的。

关键操作只接受POST请求

验证码:

CSRF攻击的过程,往往是在用户不知情的情况下发生的,在用户不知情的情况下构造网络请求,所以如果使用验证码,那么每次操作都需要用户进行互动,从而简单有效地防御了CSRF的攻击。

但是如果你自啊一个网站作出任何举动都要输入验证码的话会严重影响用户体验,所以验证码一般只出现在特殊操作里面,或者在注册时候使用。

检测Referer:

常见的互联网页面与页面之间是存在联系的,比如你在腾讯首页应该找不到通往//www.facebook.com的链接的,比如你在某论坛留言,那么不管你留言之后重定向到哪里,之前的网址一定保留在新页面中Referer属性中。

通过检查Referer的值,我们就可以判断这个请求是合法的还是非法的,但是问题出在服务器不是任何时候都接受到Referer的值,所以RefererCheck一般用于监控CSRF攻击的发生,而不用来抵御攻击。

Token:目前主流的做法是使用Token防御CSRF攻击

CSRF攻击要成功的条件在于攻击者能够准确地预测所有的参数从而构造出合法的请求,所以根据不可预测性原则,我们可以对参数进行加密从而防止CSRF攻击,可以保存其原有参数不变,另外添加一个参数Token,其值是随机的,这样攻击者因为不知道Token而无法构造出合法的请求进行攻击,所以我们在构造请求时候只需要保证:

Token要足够随机,使攻击者无法准确预测

Token是一次性的,即每次请求成功后要更新Token,增加预测难度

Token要主要保密性,敏感操作使用POST,防止Token出现在URL中

最后值得注意的是,过滤用户输入的内容不能阻挡CSRF攻击,我们需要做的事过滤请求的来源,因为有些请求是合法,有些是非法的,所以CSRF防御主要是过滤那些非法伪造的请求来源。

XSS攻击:

XSS又称为CSS,全程为Cross-sitescript,跨站脚本攻击,为了和CSS层叠样式表区分所以取名为XSS,是Web程序中常见的漏洞。

其原理是攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其它用户浏览该网站时候,该段HTML代码会自动执行,从而达到攻击的目的,如盗取用户的Cookie,破坏页面结构,重定向到其它网站等。

提醒您:了解网络安全防范措施与应用措施是非常重要的,因为只有这样才能保障在网络中的安全,另外也可参考一些网络安全常识和网络安全技术来帮助自己,提高自己的能力。