常用的web安全处理
1:用戶名和密碼認(rèn)證通過后,必須更換會(huì)話標(biāo)識(shí),以防止會(huì)話固定(session fixation)漏洞。
實(shí)施指導(dǎo):
| 在用戶名和密碼認(rèn)證通過后增加以下兩行代碼: request.getSession().invalidate(); request.getSession(); |
?
2:驗(yàn)證碼字符串要求是隨機(jī)生成,生成的隨機(jī)數(shù)必須是安全的。
說(shuō)明:對(duì)于java語(yǔ)言可以使用類 java.security.SecureRandom來(lái)生成安全的隨機(jī)數(shù)。
?
3:禁止帶有敏感數(shù)據(jù)的Web頁(yè)面緩存。
說(shuō)明:帶有敏感數(shù)據(jù)的Web頁(yè)面都應(yīng)該禁止緩存,以防止敏感信息泄漏或通過代理服務(wù)器上網(wǎng)的用戶數(shù)據(jù)互竄問題。
實(shí)施指導(dǎo):
| 在HTML頁(yè)面的<HEAD>標(biāo)簽內(nèi)加入如下代碼: <HEAD> <META HTTP-EQUIV="Expires" CONTENT="0"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-control" CONTENT="no-cache"> <META HTTP-EQUIV="Cache" CONTENT="no-cache"> </HEAD> 在JSP頁(yè)面的最前面加入如下代碼: <% response.setHeader("Cache-Control","no-cache"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> 注意:以上代碼對(duì)于采用強(qiáng)制緩存策略的代理服務(wù)器不生效(代理服務(wù)器默認(rèn)是不緩存的),要防止代理服務(wù)器緩存頁(yè)面,可以在鏈接后加入一個(gè)隨機(jī)數(shù)pageid,此時(shí)鏈接變成:http://localhost:8080/query.do?a=2&pageid=2245562, 其中2245562數(shù)字是隨機(jī)生成的,每次請(qǐng)求此頁(yè)面時(shí),隨機(jī)數(shù)都不同,IE始終認(rèn)為此為一個(gè)新請(qǐng)求,并重新解析,生成新的響應(yīng)頁(yè)面。 |
總結(jié)
以上是生活随笔為你收集整理的常用的web安全处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 管理类的指针成员
- 下一篇: .htaccess的基本作用及相关语法介