Mysqli의 준비된 문을 사용하고 있습니다. 입력을 텍스트로 가져 와서 텍스트로 제출하여 SQL 주입을 방지합니다.HTML에서 태그 및 스크립트가 실행되지 않도록하려면 어떻게해야합니까?
데이터베이스에서 텍스트를 읽을 때 문제가 발생합니다. 내가 읽은 텍스트가 브라우저에서 실행됩니다! -
예를 들어내가 입력으로 작성하는 경우 : 그대로
<b>Hello</b> how r u?<br>
<script> alert('He is fine dnt wry!') </script>
이 데이터베이스로 들어갑니다. 그러나 내 SELECT
쿼리를 사용하여 데이터베이스에서 다시 읽음으로써이를 표시하는 대신 내 <b>
태그와 <script>
태그가 실행됩니다.
어떻게 이런 일이 일어나지 않도록 할 수 있습니까?
'를 htmlentities()'또는'반드시 htmlspecialchars()'어쩌면? – AbraCadaver
어느 것이 더 낫습니까? – jackkorbin
HTML을 승인하려면 HTML Purifier로 정리하거나 다른 언어를 수락하십시오. Markdown이 널리 사용되고 있으며 PHP에서 사용할 수있는 파서가 여러 개 있습니다. – halfer