Pour l’analyse de XSS par HttpOnly afin d’obtenir des informations sur les cookies, veuillez consulter les écrits de Kenshin : Utilisation de httpOnly pour améliorer la sécurité des applications.
Paramètres dans javaEE :
Il n’y a pas de méthode d’opération spécifique ni d’attribut de fonction fourni dans l’API, et je ne sais pas s’il sera fourni dans de futures versions, voici une solution de contournement :
————————————————————————————–
response.setHeader(« Set-Cookie », « cookiename=value ; Chemin =/ ; Domain=neeao.com ; Âge maximal = secondes ; HTTPOnly") ;
————————————————————————————–
Paramètres dans ASP.NET Les versions .net 2.0 et ultérieures prennent en charge la configuration globale httponly dans le fichier Web.config, qui est définie comme suit : il suffit d’ajouter un nœud au web.config : ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true » /> ------------------------------------------------------------------ Dans l’objet cookie .net 2.0 ou ultérieur, il existe un paramètre HttpOnly direct pour appeler, et la méthode d’utilisation est la suivante : Code C# : ------------------------------------------------------------------ HttpCookie myCookie = new HttpCookie(« myCookie ») ; myCookie.HttpOnly = vrai ; Réponse.AppendeCookie(monCookie) ; ------------------------------------------------------------------- Code vb.net ------------------------------------------------------------------- Dim myCookie As HttpCookie = new HttpCookie(« myCookie ») myCookie.HttpOnly = Vrai Réponse.AppendezCookie(monCookie) ------------------------------------------------------------------- Dans asp.net 1.1, vous pouvez également définir les cookies globaux HttpOnly pour ajouter l’événement Application_EndRequest du nœud application du fichier global Global.asax : ------------------------------------------------------------------- vide protégé Application_EndRequest(Object sender, EventArgs e)
{ chaîne authCookie = FormsAuthentication.FormsCookieName ; foreach (chaîne sCookie en Response.Cookies) { if (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Chemin += " ; Uniquement en http » ; } } } ------------------------------------------------------------------- Si vous l’écrivez dans le code, vous devez l’ajouter comme ceci : -------------------------------------------- Response.Cookies[cookie]. Chemin += " ; HTTPOnly » ; --------------------------------------------- Paramètres en PHP Les versions de PHP5.2 et ultérieures prennent déjà en charge la configuration des paramètres HttpOnly et prennent également en charge la configuration globale de HttpOnly dans php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Fixez sa valeur à 1 ou TRUE pour activer l’attribut HttpOnly du cookie global, et bien sûr vous pouvez aussi l’activer dans le code : ----------------------------------------------------- < ?php ini_set (« session.cookie_httponly », 1) ; ou session_set_cookie_params(0, NULL, NULL, NULL, VRAI) ; ?> ----------------------------------------------------- La fonction d’opération cookie setcookie et setrawcookie ajoute également le 7e paramètre comme option pour HttpOnly, et la méthode d’ouverture est : ------------------------------------------------------- setcookie (« abc », « test », NULL, NULL, NULL, NULL, TRUE) ; setrawcookie (« abc », « test », NULL, NULL, NULL, NULL, TRUE) ; ------------------------------------------------------- Pour les versions PHP antérieures à la 5.1 et PHP4, vous devez utiliser la fonction d’en-tête pour effectuer des modifications : ------------------------------------------------------------- < ?php header("Set-Cookie : hidden=value ; httpOnly ») ; ?> -------------------------------------------------------------
ASP Il n’y a pas de méthodes pertinentes fournies dans les objets intégrés d’asp, donc vous ne pouvez l’implémenter qu’en solution de contournement : -----------------------------------------------------<% ‘************************************************** 'Sortie ASP, httponly cookie IE6.0 ou supérieur, support navigateur 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type » content="text/html ; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- « Fonction : définir les cookies HttpOnly « Paramètres : expDate correspond à l’expiration de la garantie, 0 signifie non défini, et réglé à une certaine période passée signifie dégagement « argument : le domaine est vide (chaîne. Vide) signifie non défini ‘——————————————————————- Fonction SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim cookie cookie=cookieName & « = » & Server.URLEncode(cookieValue) & ; Chemin=" & Chemin Si expDate <> 0 alors cookie=cookie & " ; expires=" & DateToGMT(expDate) Fin si
Si le domaine <> « » alors cookie=cookie & " ; domaine=" & domaine Fin si
cookie=cookie & " ; HttpOnly"
Call Response.AddHeader (« Set-Cookie », cookie) Fonction finale
« ————- obtiens-toi-me———— « Paramètres : sDate est le temps à convertir en GMT ‘——————————— Fonction DateToGMT(sDate) Dim dWeek, dMonth Dim strZero, strZone strZero="00 » strZone="+0800 » dWeek=Array (« Soleil », « Lun », « Mar », « Vendredi », « Jeu », « Samedi ») dMonth=Array (« Jan », « Feb », « Mar », « Avr », « May », « Juin », « Jul », « Aug », « Sep », « Oct », « Nov », « Dec ») DateToGMT = dSemaine(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 Fonction finale ' Référence 'Appeler SetHttpOnlyCookie(« cookieOnly1 »,"onlyValue », ».xxx.com »,"/ »,0)
%>
---------------------------------------------------- Références : 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-httpOnly-cookie-flag-support-in-PHP-5.2.html 4.http ://www.asp101.com/tips/index.asp ?id=160 5.http ://www.cnblogs.com/wdfrog/archive/2009/04/15/1436493.html |