我总是担心我的PHP应用程序中的安全问题,我只是(可能)想到了黑客可能会破坏我的脚本的方式.目前我的应用程序采用表单数据并通过AJAX将其作为数组提交给PHP脚本,然后遍历此数组.
foreach($_POST['form_data'] as $field => $value){
//Do something here.
}
Run Code Online (Sandbox Code Playgroud)
但是,如果黑客伪造一个AJAX请求,并重复提交带有1000亿随机元素的'form_data'数组怎么办?循环必须遍历每个元素,可能导致DoS(或至少减慢服务),是否正确?
我在这里没有完全接受过教育,所以我可能会有一些不正确的假设.感谢您的任何意见!
我正在尝试创建一个AJAX脚本,它将采用两个GET变量,类和方法,并将它们映射到我们设计的方法(类似于CodeIgniter如何为ajax行事,我很确定).由于我依赖于用户输入来确定要执行的类和方法,所以我担心黑客可能会有某种方式将这种技术用于他们的优势.
代码:
//Grab and clean (just in case, why not) the class and method variables from GET
$class = urlencode(trim($_GET['c']));
$method = urlencode(trim($_GET['m']));
//Ensure the passed function is callable
if(method_exists($class, $method)){
$class::$method();
}
Run Code Online (Sandbox Code Playgroud)
使用这种技术时,我应该注意哪些缺点或安全监视?