XSS的防御

XSS的防御

一.设置Http-Only

如果Cookie设置了HttpOnly属性,XSS攻击会失败,因为JavaScript读取不到Cookie的值。

一个Cookie的使用过程如下:

Step1:浏览器向服务器发起请求,这时没有Cookie。

Step2:服务器返回时发送Set-Cookie头,向客户端浏览器写入Cookie。(此时可在Set-Cookie头中加入Http-Only属性)

Step3:在该Cookie到期前,浏览器访问该域下的所有页面,都将发送该Cookie。

HttpOnly是在Set-Cookie时被标记的。服务器可能会设置多个Cookie(多个key-value对),而HttpOnly可以有选择性地加在任何一个关键的Cookie值上。

二.对输入进行检查

对用户的输入,比如说填写用户名,邮箱等信息时进行白名单过滤,使攻击者无法构造攻击语句。

三.输出检查

一般来说,除了富文本的输出外,在变量输出到HTML页面时,可以使用HtmlEncode编码或转义的方式来防御XSS攻击。这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。

posted @ 2021-07-22 22:43  追寻_smile  阅读(254)  评论(0)    收藏  举报