我是AJAX的新手。我还看到了关于如何使用ajax检索数据库结果的教程http://www.w3schools.com/php/php_ajax_database.asp
来自URL的源代码:
<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
是否足够安全取决于你在服务器端做了什么。在客户端,这里有一个缺失的部分"str"值被编码为正确的URL值,因此这可能会导致一些问题。
在连接url部分时至少应该使用encodeURIComponent
(或escape
)方法。
xmlhttp.open("GET","getuser.php?q="+encodeURIComponent(str),true);