【发布时间】:2013-12-08 20:38:41
【问题描述】:
我有以下 PHP 和 Javascript 代码 sn-p,我在其中进行 jQuery AJAX 调用以从 PHP 获取数据并在 HTML 中显示。
PHP code
<?php
myfunction();
function myfunction()
{
$myvar = $_POST['q']." how are you?";
$myvar2 = $_POST['z'];
echo $myvar."\n".$myvar2;
}
?>
HTML code
<div id="mydiv"></div>
Javascript code
var data =" hello world";
var data2=" hello all";
function run()
{
$.ajax(
{
url: 'myscript.php',
data: {'q': data,'z':data2},
type: 'post',
success: function(output)
{
//alert(output);
document.getElementById("mydiv").innerHTML += output; //add output to div
}
}
);
}
以上代码运行良好。
我想保护这个 AJAX 调用以防止它被黑客攻击,因为我正在进行一个对所有人可见的 AJAX 调用。此代码易受黑客攻击。我的问题是我应该在什么地方以及在哪里进行额外检查以确保我的 AJAX 调用安全?
我知道我应该在我的 PHP 文件中使用以下代码 sn-p
if (!$_POST['q'] && !$_POST['z'])
{
exit;
}|
else
{
myfunction(); //call myfunction only if page is posted
}
我应该在 PHP 和 Javascript 文件中使用哪些额外检查?
【问题讨论】:
-
“防止黑客入侵”是什么意思?如果是向脚本发出请求,不管你做什么,如果浏览器能向它发出请求,那么黑客也能做到。
-
@w00d - 我需要关于如何通过实施额外检查来改进这个简单的代码 sn-p 的建议,以使其安全且没有人可以滥用 PHP 文件从数据库访问的数据。
-
我想如果你想更进一步,你可以通过 https 运行它并在 api 上运行某种类型的身份验证。
标签: javascript php jquery html ajax