网站如何设置404页面、500等错误页面,有什么漏洞?怎么预防?
404是什么?500,405是什么?
404:在 HTTP Status 中,当访问的资源不存在时,这个时候返回的状态为404。
500:当访问服务器资源出现内部错误的时候,会Throw Exception
,http status
为500。
405:当页面提交为固定的提交方式,如限制为 POST ,如果你用 GET 、UPDATE
、等等去提交,就回返回http status
为 405
。
... ... 就不一一介绍了。
具体对应状态码详细介绍:https://www.sojson.com/http.html
如何定义404、500等错误页面?
本站的404页面:https://www.sojson.com/404.html
本站的500页面:https://www.sojson.com/500.html
是的,没错,挺花哨的,意味着页面内容很大。很占服务器资源,比如说带宽,这就可以被利用了,有一种攻击就是带宽攻击,也可以叫DDOS攻击。
我们普通的网站可能带宽就那么几MB,所以随便搞搞就把你带宽搞满,导致正常用户访问不了。
我上次就给搞过一次,为什么会这么攻击?
因为现在 CDN 非常普及,所以大部分站点都有使用 CDN ,比如说我,所以大部分资源是被 CDN 缓存下来了,但是我随便访问页面,那么就要回源去请求你服务器。回源就会对你服务器 HTTP 请求。然后量起来后,你的源站就已经带宽满了。正常用户请求就已经进不去了。
漏洞方案,我的解决方案。
采用异步创建iframe然后满屏显示,并且是异步加载,整个页面既不影响原来你要展示的东西。整个页面就几KB。及时发生攻击式请求,要到几MB,就是要秒并发几千个请求。难度有点高。
并且这里优化空间还有,比如404
直接 Nginx 、Apache
等,直接返回,设置了CDN
缓存的话,当你重定向到404
的时候,CDN
就直接不回源了,也就是你重定向到404.html
的时候,已经是访问404
了。具体自己测试测试。
总之:404
等错误页面,引入的资源要尽量最少。页面体积最小,如果有 CSS 文件,尽量把404
所需要得 CSS 、 JS 独立出来,单独引入或者直接放入页面。减少访问体积。
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/322.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。