我正在创建一个用户可以发布文章的目录。要获取要发布的值,我使用输入html元素并使用$.post
将数据保存在数据库中。
但是,我遇到的问题是,如果用户在文章中写了一些html代码,则会保存格式化代码。
例如,如果输入的值是:
<input type="text" value="this is an article title <script>$("body").remove();</script>">
提交帖子后,页面也会加载js脚本,删除body
。
如何避免这种情况并告诉输入字段中有脚本或格式化脚本以显示为文本?
答案 0 :(得分:1)
<?php
//Simple answer
#when you echo data results from the database. consider code below..
#Assuming you are at the last process of echoling the data out.
$data='THIS WOULD BE YOUR DATA OBJECT OR VARIABLE CONTAINING DATA FROM THE DATABASE';
#then...
$data=htmlentities($data);
#or
$data=strip_tags($data);
#or
$data=htmlspecialchars($data);
#just be assured that tags or code will not be executed by the browser once above is included!
echo $data;