我试图找到一种方法,如何在不刷新页面的情况下向MySQL数据库插入内容,也不会造成安全漏洞。
经过几个小时的尝试和搜索,我得到了这个:
<form name="form1" action="">
Enter Name <input type="text" name="t1" id="t1"></td> <br>
Enter City <input type="text" name="t2" id="t2"></td> <br>
<input type="button" name="button1" value="Insert to DB" onClick="aa()">
</form>
<div id="d1"></div>
<script type="text/javascript">
function aa()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "insert.php?name=" + document.getElementById("t1").value + "&city=" + document.getElementById("t2").value, false);
xmlhttp.send(null);
document.getElementById("d1").innerHTML=xmlhttp.responseText;;
}
</script>
这是一个简单的表单,它调用JS,并且JS将信息重定向到.php文件,其中是用于将数据库插入数据库的SQL命令。
但我不确定这是不是&#34;安全&#34;而且我更愿意调用一些插入(使用MVC)或类似的方法。
这里有人可以给我一些技巧吗?
答案 0 :(得分:1)
你的问题是合法的。许多网站今天都在使用这种技术,其中页面与服务器通信而不重新加载整个页面,而不发送完整的头文件并重新加载所有资源。这是一种非常有用的技术,几年前由微软开创,然后被所有浏览器采用和支持,具有更加用户友好和更快的优势。您可以使用自己的代码,就像创建AJAX请求或使用库(如jQuery,DOJO,mootools,YUI等)一样,可以解决浏览器之间的许多差异。在我看来,你应该首先使用一个库,因为他们有例子,一开始会帮助你很多。
AJAX请求的基础结构仍然是HTTP谓词:GET和POST主要用于获取新的信息块或保存一些输入。这个JavaScript部分就像在客户端浏览器中在客户端执行的任何其他Javascript一样,默认情况下使其不安全。安全规则是:
这是你必须在PHP方面做的。同样,你可以自己过滤,或者你可以使用可以帮助你的库或MVC。在我看来,推荐一些东西有点棘手。有时那些附带了大量额外信息,可能会带来更多麻烦。
通过试验JS库和简单的PHP脚本来了解这些事情是如何工作的,之后您可以从那里开始。
答案 1 :(得分:0)
答案 2 :(得分:0)