JavaScript 코드에 PHP 생성 값을 안전하게 포함하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-10-28 18:18:29
원래의
404명이 탐색했습니다.

How to Safely Include PHP-Generated Values in JavaScript Code?

PHP 생성 값을 JavaScript 코드에 통합

JavaScript 코드 내에서 PHP 생성 변수를 활용하려고 하면 어려움이 발생할 수 있습니다. 예를 들어 다음 코드 조각은 예상대로 작동하지 않을 수 있습니다.

<?php $htmlString = 'testing'; ?>
<html>
  <body>
    <script type="text/javascript">  
      var htmlString=<?= $htmlString; ?>;
      alert(htmlString);
    </script>
  </body>
</html>
로그인 후 복사

해결 방법:

이 문제를 해결하려면 PHP 태그를 큰따옴표로 묶으세요.

<?php $htmlString = 'testing'; ?>
<html>
  <body>
    <script type="text/javascript">  
      // notice the quotes around the ?php tag         
      var htmlString="<?= $htmlString; ?>";
      alert(htmlString);
    </script>
  </body>
</html>
로그인 후 복사

디버깅 팁:

JavaScript 오류가 발생하면 브라우저에서 제공하는 JavaScript 콘솔을 활용하여 문제를 식별하세요. 또한 브라우저에서 렌더링된 페이지의 소스 코드를 검사하십시오.

주의:

위에 설명된 접근 방식은 보안 취약점을 초래할 수 있다는 점에 유의하는 것이 중요합니다. 특히 XSS(교차 사이트 스크립팅) 공격이 그렇습니다. 이러한 위험을 완화하려면 아래 대체 솔루션에서 제안된 대로 json_encode()를 사용하는 것이 좋습니다.

<?php
$htmlString = 'testing';
$encodedString = json_encode($htmlString);
?>
<html>
  <body>
    <script type="text/javascript">  
      var htmlString=<?= $encodedString; ?>;
      alert(htmlString);
    </script>
  </body>
</html>
로그인 후 복사

위 내용은 JavaScript 코드에 PHP 생성 값을 안전하게 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!