2012-03-25 5 views
0

Я сделал 2 проверки безопасности в PHP для проверки целостности HTML-форм после данных:PHP безопасности после данных

1) я прохожу md5 случайный маркер в скрытом поле в стр.1, и я проверить его в процессоре страница

2), так как я имею дело только с идентификаторами продукта (которые являются числовыми), на странице процессора проверить весь ключ массива по ключу с функцией is_numeric

Как вы думаете, что это может предотвратить атаки моя форма или есть что-то еще, что я мог бы сделать?

+1

В каком-то примере было бы неплохо – safarov

+1

это зависит от службы, предоставляемой вашим приложением, и данных, которыми обладает ваше приложение. – Daxcode

+0

пользователи выбирают только некоторые флажки с соответствующим числовым идентификатором продукта. Это единственные данные, которые я передаю вместе с токеном. –

ответ

0

до тех пор, пока у вас есть соленый хэш, который вы можете проверить на обоих концах, что уникально вместе с SSL, вероятно, так же безопасно, как вы можете получить. Это точный метод, который использует CodeIgniter для обеспечения безопасности.

0

В большинстве случаев я использую эту простую конструкцию. На передней стороне:

<script type='text/javascript'> 
function rrtyMui() { 
    document.getElementById('TellFriendFHash').value = "<?= md5(date("Y-m-d H:i:s")) ?>"; 
    return true; 
} 
</script> 
<form method="post" action="/some-action/" name="rform" onsubmit="rrtyMui(); return validateRForm(this);"> 
<input type="hidden" id="TellFriendFHash" name="TellFriendFHash" value=""> 
.... 
</form> 

На стороне сервера я проверяю _POST («TellFriendFHash»). Если значение пустое, то вы имеете дело с некоторым скриптом (роботом). В 80% случаев он работает очень хорошо. В других 20% случаях я использую что-то вроде Captcha.

Смежные вопросы