Как бы я закодировал определенные параметры $ _GET? - PullRequest
0 голосов
/ 25 ноября 2010

В настоящее время я использую base64_encode для некоторых параметров $ _GET, с которыми я не хочу, чтобы обычный пользователь связывался.Мне было интересно, что base64 не выглядит слишком сильным или нет?

Я также не хочу делать какое-то мегакодирование, это не так много важной информации, но я бы не хотел, чтобы этот пользователь имел среднийЗнание будет связываться с параметрами в get.

Должен ли я продолжать использовать base64?В настоящее время он выдает MQ==, если значение равно 1, поэтому его довольно легко извлечь из URL-адреса и декодировать, а затем вставить свой собственный.

Ответы [ 4 ]

4 голосов
/ 25 ноября 2010

Кодировка Base-64 никак не защищает данные.Это просто базовое преобразование, например использование шестнадцатеричного числа вместо десятичного для целых чисел.

Если вы просто хотите проверить целостность данных , вы можете использовать соленый хеш (с секретной солью), который вы хранитевместе с данными.См., Например, хешированный код аутентификации сообщений (HMAC) .

3 голосов
/ 25 ноября 2010

base64_encode() не является мерой безопасности !Он был разработан, чтобы сделать возможной отправку двоичных двоичных объектов через среды, которые обычно передают только ASCII.

Используйте сеанс или правильно зашифруйте свои переменные.

Я бы порекомендовал просто использовать сеанс и сохранятьэто по умолчанию /tmp для хорошей меры с ...

ini_set('session.save_path', '/sessions');
2 голосов
/ 25 ноября 2010

Если вы хотите немного реального шифрования / дешифрования, взгляните на возможности Mcrypt в PHP. http://www.php.net/manual/en/mcrypt.examples.php

Но тогда вы можете захотеть использовать POST вместо GET из-за спецификаций URL, которые ограничены в использовании символов и длине URL.

0 голосов
/ 25 ноября 2010

Зависит от того, что вы хотите делать с ним.

Если вы просто хотите скрыть это (особенно, когда вы генерируете эти URL в Javascript или около того), вы можете применить ROT13 к URL и поменять местаминесколько дополнительных символов, чтобы сделать его декодирование немного сложнее.

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

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