我是 PHP 新手,我有一个表单,人们可以在其中向数据库提交值。稍后这些值要么使用 JS 注入,要么直接放在 HTML 文档中。
我正在使用以下内容来清理我的输入:
function sanitise($str){
$string = htmlspecialchars($str);
$string = mysql_real_escape_string($str);
return $string;
}
问题在于,在我的数据库中,带引号的输入如下所示:input's
. 这意味着如果我在 JS 中插入该值,引号会搞砸一切。
我试着这样做是为了避免引用:
function sanitise($str){
$string = htmlspecialchars($str);
$string = mysql_real_escape_string($str);
return addslashes($string);
}
这会将我的数据库条目转换为如下所示的内容:input\'s
. 这在 JS 中有效,但如果我直接在内部注入该值,<div></div>
那么反斜杠仍然存在......我对我做错了什么感到困惑 - 我如何清理我的输入并同时普遍逃避HTML和JS的特殊字符?