1、配置响应头(X-Content-Type-Options、X-Frame-Options、X-XSS-Protection)
server{ add_header X-Frame-Options SAMEORIGIN; add_header X-XSS-Protection '1;mode=block'; add_header X-Content-Type-Options nosniff; } 注: X-Frame-Options: 有些资源的Content-Type是错的或者未定义。这时,某些浏览器会启用MIME-sniffing来猜测该资源的类型,解析内容并执行。 X-Frame-Options三个参数: 1、DENY 表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。 2、SAMEORIGIN 表示该页面可以在相同域名页面的frame中展示。 3、ALLOW-FROM uri 表示该页面可以在指定来源的frame中展示。 X-XSS-Protection头的三个值 0: 表示关闭浏览器的XSS防护机制 1:删除检测到的恶意代码, 如果响应报文中没有看到X-XSS-Protection 字段,那么浏览器就认为X-XSS-Protection配置为1,这是浏览器的默认设置 1; mode=block:如果检测到恶意代码,在不渲染恶意代码 不指定X-Frame-Options的网页等同表示它可以放在任何iFrame内。 X-Frame-Options可以保障你的网页不会被放在恶意网站设定的iFrame内,令用户成为点击劫持的受害人。
2、请求方法拦截(GET|POST|HEAD以外的请求无法访问)
server{ if ($request_method !~* GET|POST|HEAD) { return 403; } }
3、sql 注入拦截
server{
if ($query_string ~* ".*('|--|union|insert|drop|truncate|update|from|grant|exec|where|select|and|or|count|chr|mid|like|iframe|script|alert|webscan|dbappsecurity|style|confirm|innerhtml|innertext|class).*")
{ return 500; }
if ($uri ~* .*(viewsource.jsp)$) { return 404; }
if ($uri ~* .*(/~).*) { return 404; }
}
4、页面拦截
location /web.config { return 403; }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210709.html原文链接:https://javaforall.net
