как защитить мои типы ввода от firebug и другого инструмента отладки - PullRequest
2 голосов
/ 05 марта 2012
<?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.

Пожалуйста, для защиты моих флажков, ввода, выбора и всех других контроллеров.

Ответы [ 5 ]

5 голосов
/ 05 марта 2012

Вы не можете сделать это с помощью операций на стороне клиента.Firebug полностью контролирует весь документ в браузере, и вы можете НИЧЕГО , чтобы предотвратить это.

Если вы не хотите, чтобы пользователь возился со значениемне используйте это значение в браузере пользователя.Сохраняйте идентификатор изменяемой записи в переменной сеанса на стороне сервера, чтобы пользователь полностью ее не трогал.

В противном случае вам придется зашифровать значение, чтобы вместо хорошей очистки 1, они видят большой уродливый алфавитно-цифровой мусор.

3 голосов
/ 05 марта 2012

Конечный пользователь всегда сможет манипулировать html и javascript, которые он / она получает, и вы ничего не можете с этим поделать.

Вам нужно будет проверить данные отправки формы в вашем приложении, чтобы убедиться, что пользователь соблюдает правила. В этом контексте я бы даже не поставил «id» в форме. С помощью codeigniter в функции deleteUser вашего контроллера Admin вы можете получить «id» текущего пользователя, вошедшего в систему, используя аналогичную строку кода:

$this->session->userdata('user_id');

Никогда доверять предоставленным пользователем данным.

2 голосов
/ 10 апреля 2012

Шифрование - лучшее решение для этого

Шифрование - это преобразование данных в форму, называемую зашифрованным текстом, которая не может быть легко понята посторонними людьми

0 голосов
/ 11 апреля 2012

Вы не можете справиться с этим.Никогда не доверяйте вводу клиента.

0 голосов
/ 05 марта 2012

Вы не можете предотвратить его отладку.

Все, что вы можете сделать для minify or gzip вашего javascript, что затруднит отладку, но не невозможно.

Это (а их может быть много) - ссылка на минимизацию или распаковку вашего javascript

Но рекомендуется использовать клиентские коды (javascrit / html / swf) для хорошей интерактивности пользователя (не безопасность).Используйте код на стороне сервера для вашей безопасности!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...