AJAX安全问题

时间:2013-05-03 07:01:52

标签: ajax

我是AJAX的新手。我看到了关于如何使用ajax检索数据库结果的本教程 http://www.w3schools.com/php/php_ajax_database.asp

来自网址的源代码:

<script>
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}

该代码是否足够安全? 除了安全性的服务器端验证之外,我需要检查的任何其他问题? 关于安全性应用该代码的最佳做法是什么?

谢谢,我真的很抱歉这个愚蠢的问题。 T_T

1 个答案:

答案 0 :(得分:1)

“足够安全”部分取决于您在服务器端执行的操作。在客户端,这里缺少一部分“str”值被编码为正确的URL值,因此这可能会导致一些问题。

在连接网址部分时,您至少应该使用encodeURIComponent(或escape)方法。

xmlhttp.open("GET","getuser.php?q="+encodeURIComponent(str),true);
相关问题