javascript XSS清理数据是否已使用PHP清理数据

时间:2015-08-29 21:47:06

标签: javascript php jquery

更新

我仍然感到困惑。有人可以回复我上次的评论吗?

如果使用PHP清理了我的所有数据(此示例中的+ title1 +和+ title2 + - 见下文),我还需要担心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>

json回复

["1","test test test"]

输出(通过带标题的鼠标悬停文字)

test test test

php (省略了php清理)

$result = mysql_query("SELECT title1, title2 FROM users WHERE username = '$foobar'")
or die(mysql_error());
$array = mysql_fetch_row($result);
echo json_encode($array);

1 个答案:

答案 0 :(得分:1)

需要考虑两个不同的元素:

  • 数据库:使用预准备语句(PDO或mysqli)来避免通过用户输入进行SQL注入
  • UI:根据需要转义用户输入以避免XSS attacks

虽然用户输入已经通过PDO / mysqli预处理语句对数据库进行了“ santizied ”,但在浏览器的网页上显示用户输入之前需要进一步考虑。