开发语言排行榜&常用Web开发语言HttpOnly设置详解[zz]

于HttpOnly对于防范XSS来获取cookies信息的分析,请参考剑心同学写的:利用httponly提升应用程序安全性,这里仅把常用的一些Web开发语言的设置方法整理总结下,备用。

javaEE中的设置:

API中没有提供具体的操作方法或者函数属性来设置,不知道后续版本是否会提供,下面为变通设置方法:

————————————————————————————–

response.setHeader(”Set-Cookie”,“cookiename=value;
Path=/;Domain=neeao.com;Max-Age=seconds;HTTPOnly”);

————————————————————————————–

ASP.NET中的设置
 .net2.0以上版本支持在Web.config文件中来配置全局的httponly,设置如下,在web.config中添加一个节点即可:
 ------------------------------------------------------------------
  <httpCookieshttpOnlyCookies="true"/>
 ------------------------------------------------------------------
 .net2.0以上版本cookie对象中,直接有一个HttpOnly的参数供调用,使用方法如下:
 C#代码:
 ------------------------------------------------------------------
 HttpCookiemyCookie=newHttpCookie("myCookie");
 myCookie.HttpOnly=true;
 Response.AppendCookie(myCookie);
 -------------------------------------------------------------------
 vb.net代码
 -------------------------------------------------------------------
 DimmyCookieAsHttpCookie=newHttpCookie("myCookie")
 myCookie.HttpOnly=True
 Response.AppendCookie(myCookie)
 -------------------------------------------------------------------
 在asp.net1.1中也可以设置全局的cookiesHttpOnly,在全局文件Global.asax的application节点的Application_EndRequest事件中添加:
 -------------------------------------------------------------------
 protectedvoidApplication_EndRequest(Objectsender,EventArgse)

 {
      stringauthCookie=FormsAuthentication.FormsCookieName;
      foreach(stringsCookieinResponse.Cookies)
      {
         if(sCookie.Equals(authCookie))
         {
   &nbweb开发语言sp;          Response.Cookies.Path+=";HttpOnly";
          }
     }
 }
 -------------------------------------------------------------------
 在代码中写的话,就需要这样来添加了:
 --------------------------------------------
 Response.Cookies.Paandroid开发语言th+=";HTTPOnly";
 ---------------------------------------------
PHP中的设置
 PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
 -----------------------------------------------------
 session.cookie_httponly=
 -----------------------------------------------------
 设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
 -----------------------------------------------------
 <php
 ini_set("session.cookie_httponly",1);
 //or
 session_set_cookie_params(0,NULL,NULL,NULL,TRUE);
 >
 -----------------------------------------------------
 Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:
 -------------------------------------------------------
 setcookie("abc","test",NULL,NULL,NULL,NULL,TRUE);
 setrawcookie("abc","test",NULL,NULL,NULL,NULL,TRUE);
 -------------------------------------------------------
 对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:
 -------------------------------------------------------------
 <php
 header("Set-Cookie:hidden=value;httpOnly");
 >
 -------------------------------------------------------------

Asp中的设置
 asp的内置对象中没有提供相关方法,只能变通来实现了:
 -----------------------------------------------------<%
‘**************************************************
‘ASP中输出httponlycookieIE6.0以上浏览器支持
‘WDFrog
‘2009-04-15
‘<metahttp-equiv=”Content-Type”content=”text/html;charset=gb2312″>
‘***************嵌入式开发语言***********************************

‘———-SetHttpOnlyCookie—————————————-
‘功能:设置HttpOnlyCookie
‘参数:expDate为保到期,0表示不设置,设置为过去某一时间表示清除
‘参数:domain为空(string.Empty)表示不设置
‘——————————————————————-
FunctionSetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dimcookie
cookie=cookieName&“=”&Server.URLEncode(cookieValue)&“;path=”&path
IfexpDate<>0Then
cookie=cookie&“;expires=”&DateToGMT(expDate)
EndIf

Ifdomain<>“”Then
cookie=cookie&“;domain=”&domain
EndIf

cookie=cookie&“;HttpOnly”

CallResponse.AddHeader(”Set-Cookie”,cookie)
EndFunction

‘————-getGMTTime————
‘参数:sDate需要转换成GMT的时间
‘———————————
FunctionDateToGMT(sDate)
DimdWeek,dMonth
DimstrZero,strZone
standroid 开发语言rZero=”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
EndFunction
‘参考
‘CallSetHttpOnlyCookie(”cookieOnly1″,”onlyValue”,”.gyzs.com”,”/”,0)

%>

 ----------------------------------------------------
参考文献:
1.http://www.owasp.org/index.php/HTTPOnly
2.http://blogs.msdn.com/dansellers/archive/2006/03/13/550947.aspx
3.http://ilia.ws/archives/121-http最新编程语言排行榜Only-cookie-flag-support-in-PHP-5.2.html
4.http://www.asp101.com/tips/index.aspid=160
5.http://www.cnblogs.com/wdfrog/archive/2009/04/15/1436493.html

您对本文章有什么意见或着疑问吗?您的关注和建议是我们前行的参考和动力  相关文章

相关阅读:

PHP网络编程标准教程DVD视频教学版+web开发

插图:1.1什么开发语言排行榜是PHPPHP是HypertextPreprocessor。(超文本预处理器)的缩写,是一种服务器端、跨平台、HTMI。web开发是什么嵌入式的脚本语言。其独特的语法具有C语言、Java语言和Perl语言的特...

三大WEB开发语言简单对比#开发语言排行榜

ASP.NET、PHP、JAVA三大WEB开发语言简单对比,经过这半个世纪的语言发展,我们所接触的语言web开发工具基本上都是高级语言了,本文主要对现在比较主流的WEB开发语言做一个简单的对比,即ASP.NET、PHP、JA

java web开发详解^web开发语言

目前前途最好的WEB开发平台是javaandroid开发语言平台jiphone开发语言sp,jweb开发语言2ee...说法不一定准确)和.net

开发语言排名^Web应用开发语言“PHP”惊现漏洞!

【日经BP社报道】提供安全服务的德国e-matters于当地时间7月142010编程语言排行榜日披露,开放源码Web应用开发语言PHP出现可遥控修改密码的安全漏洞。受到波及的是PH软件开发语言排名P4.0系列4.3.7以前的版本和PHP5...

计算机语言排行榜*CSPhahahaWeb

利用mod_pebble,你可以超越fastcgi带来的速度!PoweredbyApache2!提供session和cookie操作,支持动态编译提供内存池操作,以C/C++为支开发语言排名持语言,强大的C/C++库支持.bymod_pe...

 

转载自:http://adyhpq.blog.163.com/blog/static/3866700201068113142248/

posted @ 2011-07-04 10:03  天平盛世  阅读(1408)  评论(0编辑  收藏  举报