javascript XSS清理如果数据已使用PHP清理
更新:javascript XSS清理如果数据已使用PHP清理,javascript,php,jquery,Javascript,Php,Jquery,更新: <div id="verification"></div> <script> function update() { $.ajax({ url: 'update.php', //php data: "", dataType: 'json', success: function (data) { //on receive of reply var
<div id="verification"></div>
<script>
function update() {
$.ajax({
url: 'update.php', //php
data: "",
dataType: 'json',
success: function (data) {
//on receive of reply
var title1 = data[0];
var title2 = data[1];
$('#verification').html("<img src=images/test"+title1+".gif title='"+title2+"'></img>"); //output to html
}
});
}
</script>
我还是像以前一样困惑。有人能回复我最后的评论吗?
如果我的所有数据(本例中为+title1+和+title2+,见下文)都是使用PHP清理的,我还需要担心javascript吗?我担心在下面的代码中使用title='“+title2+”(撇号是我关心的问题)
html\javascript:
<div id="verification"></div>
<script>
function update() {
$.ajax({
url: 'update.php', //php
data: "",
dataType: 'json',
success: function (data) {
//on receive of reply
var title1 = data[0];
var title2 = data[1];
$('#verification').html("<img src=images/test"+title1+".gif title='"+title2+"'></img>"); //output to html
}
});
}
</script>
输出(通过鼠标覆盖有标题的文本)
php(省略php消毒)
需要考虑两个不同的因素:
- 数据库:使用准备好的语句(PDO或mysqli)避免通过用户输入进行SQL注入
- UI:根据需要转义用户输入以避免
虽然用户输入已通过PDO/mysqli准备的语句“santizied”用于查询数据库,但在将用户输入显示回浏览器的网页之前,需要进一步考虑。需要更详细地解释您的问题。真的不清楚你在问什么或者你遇到了什么问题我问我以前是否用PHP清理了data+title1++title2+,如果我使用title='“+title2+”(撇号是我关心的)是安全的,你应该更担心使用不推荐的PHP函数
mysql.*
。对。我应该使用PDO,但我的问题是什么。这能帮助你:。。。甚至还有攻击向量。
test test test
$result = mysql_query("SELECT title1, title2 FROM users WHERE username = '$foobar'")
or die(mysql_error());
$array = mysql_fetch_row($result);
echo json_encode($array);