Как обезопасить строки запроса в php?
Есть функции urlencode и urldecode, но если у вас есть закодированное значение, которое можно легко декодировать с помощью функции urldecode.
Есть ли другой метод, который можно использовать, чтобы сделать строку запроса более сильной и менее подверженной атакам. было бы неплохо использовать хеширование, но если можно попытаться не использовать слишком много вычислений.
3 ответа
Похоже, вы говорите о строках URL, а не о строках запроса. Лучший способ защитить переменные, которые вы не хотите видеть от пользователя, - использовать действия POST вместо действий GET.
Цель urlencode
не для обеспечения безопасности, это для кодирования строк, которые могут содержать специальные символы и т. д. для передачи в запросе GET.
POST не хранит переменные как часть URL-адреса или в истории браузера, так что это намного лучше для отправки конфиденциальной информации. Если вы действительно хотите защитить информацию от манипуляций пользователя, вам придется ее хешировать или шифровать (например, пароли должны быть хешированы перед публикацией).
Имейте в виду, что даже используя POST, вы ничего не скрываете от того, кто хочет получить эти данные. Будьте очень осторожны с тем, какие данные вы разрешаете отправлять в GET и POST. Знайте, что независимо от того, что вы выберете, конечный пользователь все равно может им манипулировать.
Угадай, это то, на что ты хочешь посмотреть. Это покажет вам, как "очистить" ввод от пользователей, независимо от того, является ли он строкой запроса или нет.
Я не уверен, насколько POST'ing переменные вообще безопаснее... Chrome Dev Tools справятся с этим без проблем.