<?php
while($data['user'] as $row){
<input type="check" value="<?php echo $row ?>" class="userid" />
}
?>
<a href="" onlick="userdelete()"></a>
<script>
function userdelete(){
$('userid:checked').each(){
var id = $(this).val();
$.ajax({
//using codeignitor BASEURL and CONTROLLER
url: base_url+"index.php/admin/deleteuser",
type: "POST",
data: data,
cache: false,
success: function (response) {
if (response) {
$("#"+div).html(response);
}else {
$("#"+div).html('ERROR');
}
}
});
}
}
</script>
假设如果我触发它并将复选框"1"的值更改为"2"。此 ajax 将删除另一个用户,而不是 1。
请保护我的复选框、输入、选择和所有其他控制器。
不能对客户端操作执行此操作。Firebug 完全控制了 borwser 中的整个文档,您无法阻止这种情况。
如果不希望用户摆弄某个值,请不要通过用户的浏览器往返该值。将正在修改的记录的 ID 保留在服务器端会话变量中,以便用户完全无法触及它。
如果做不到这一点,你将不得不加密该值,以便他们看到的不是漂亮的干净1
,而是一大块丑陋的字母数字垃圾。
最终用户将始终能够操作他/她收到的 html 和 javascript,而您对此无能为力。
您必须检查应用程序中的表单提交数据,以确保用户遵守规则。在这种情况下,我什至不会将"id"放在表单中。使用codeigniter,在管理控制器的deleteUser函数中,您可以使用类似的代码行检索当前登录用户的"id":
$this->session->userdata('user_id');
切勿信任用户提交的数据。
加密是最好的解决方案
加密是将数据转换为一种称为密文的形式,未经授权的人不容易理解
您无法阻止调试它。
尽你所能来minify or gzip
你的javascript,这将使调试变得困难,但并非不可能。
这(可能有很多(是缩小或压缩你的javascript的链接
但建议是,使用客户端代码(javascrit/html/swf(以获得良好的用户交互性(而不是安全性(。使用服务器端代码以确保您的安全!
你无法处理这个问题。永远不要相信客户端输入。