php cookie httponly,Cookie的httponly属性设置方法

本文介绍了HttpOnly属性如何用于防止XSS跨站脚本攻击,该属性从IE6开始被广泛支持,使得JavaScript无法访问cookie,从而保护用户信息。文中详细展示了PHP和ASP.NET设置HttpOnly Cookie的方法,并提供了ASP变通实现的示例代码。尽管如此,仍建议避免在cookie中存储敏感信息。
摘要由CSDN通过智能技术生成

为了解决XSS(跨站脚本***)的问题,从IE6开始支持cookie的HttpOnly属性,这个属性目前已被大多数浏览器(IE、FF、Chrome、Safari)

所支持。当cookie中的HttpOnly属性被设置为true时,前端脚本JavaScript就无法访问或操作cookie了(只能通过后台访问),这样XSS就失效了。

即便是这样,也不要将重要信息存入cookie。

PHP设置方法:

header("Set-Cookie:tmp=100;HttpOnly");

或者

setcookie("tmp", 100, NULL, NULL, NULL, NULL, TRUE);

asp.net的设置方法:

HttpCookie myHttpCookie = new HttpCookie("LastVisit","test");

myHttpOnlyCookie.HttpOnly = true;

Response.AppendCookie(myHttpOnlyCookie);

ASP的内置对象中没有提供相关方法,只能变通来实现了:

‘———-SetHttpOnlyCookie—————————————-

‘功能:设置HttpOnly Cookie

‘参数:expDate 为保到期, 0表示不设置,设置为过去某一时间表示清除

‘参数:domain 为空(string.Empty)表示不设置

‘——————————————————————-

Function SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)

Dim cookie

cookie=cookieName & “=” & Server.URLEncode(cookieValue) & “; path=” & path

If expDate <> 0 Then

cookie=cookie & “; expires=” & DateToGMT(expDate)

End If

If domain <> “” Then

cookie=cookie & “; domain=” & domain

End If

cookie=cookie & “; HttpOnly”

Call Response.AddHeader (”Set-Cookie”, cookie)

End Function

‘————-getGMTTime————

‘参数: sDate 需要转换成GMT的时间

‘———————————

Function DateToGMT(sDate)

Dim dWeek,dMonth

Dim strZero,strZone

strZero=”00″

strZone=”+0800″

dWeek=Array(”Sun”,”Mon”,”Tue”,”Wes”,”Thu”,”Fri”,”Sat”)

dMonth=Array(”Jan”,”Feb”,”Mar”,”Apr”,”May”,”Jun”,”Jul”,”Aug”,”Sep”,”Oct”,”Nov”,”Dec”)

DateToGMT = dWeek(WeekDay(sDate)-1)&”, “&Right(strZero&Day(sDate),2)&” “&dMonth(Month(sDate)-1)&” “&Year(sDate)&” “&Right(strZero&Hour(sDate),2)&”:”&Right(strZero&Minute(sDate),2)&”:”&Right(strZero&Second(sDate),2)&” “&strZone

End Function

‘参考

‘Call SetHttpOnlyCookie(”cookieOnly1″,”onlyValue”,”.gyzs.com”,”/”,0)

来自:www.workneed.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值