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);