如何保护我的输入类型免受Firebug和其他调试工具的影响


how to secure my input types from firebug and other debugging tool

<?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(以获得良好的用户交互性(而不是安全性(。使用服务器端代码以确保您的安全!

你无法处理这个问题。永远不要相信客户端输入。