Переменные $ _GET - Как обеспечить конфиденциальность? - PullRequest
0 голосов
/ 30 июля 2010

Я написал сценарий лицензирования для некоторых модификаций, которые я выпускаю бесплатно, и часть моих условий гласит, что после установки модификация отправит следующую информацию для хранения в моей базе данных: -

  • Доменное имя, где установлен мод
  • Адрес электронной почты владельца сайта
  • Имя модификации
  • Номер версии модификации

Все мои модификациикод зашифрован в ioncube, и я отправляю значения через URL-адрес изображения следующим образом:

http://www.example.com/licenses.php?modname=".$modname."&modversion=".$modversion."&domain=".$domain."&email=".$email."

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

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

Любые указатели были бы наиболее признательны.

Ответы [ 4 ]

4 голосов
/ 30 июля 2010

Не изобретай велосипед.Используйте HTTPS / TLS / SSL.Если вы сообщите нам, какой веб-сервер вы используете для назначения, мы можем указать вам руководства по установке.Вы можете использовать POST в дополнение.Однако в этом нет необходимости, поскольку TLS защитит всю строку запроса.Распространенной причиной использования POST для защищенных данных является предотвращение случайного хранения людьми данных в закладках, истории и т. Д., Что, на мой взгляд, не применимо здесь.

0 голосов
/ 30 июля 2010

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

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

0 голосов
/ 30 июля 2010

Если у вас выделенный сервер, на котором работает Apache, вы всегда можете переписать модули htaccess.

Таким образом, вы можете скрыть Получить переменные или показать пользователям все, что захотите.

@ Мэтью Флашентоже приемлемый вариант.

0 голосов
/ 30 июля 2010

«Мне нужно иметь возможность декодировать значения для сравнения с базой данных, но все, что я могу декодировать, может быть легко декодировано кем-либо другим?»

Вы можете проверить mcrypt. * И mdecrypt. * которые обеспечивают симметричное шифрование и дешифрование с использованием libmcrypt (доступно в руководстве по php).

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