алгоритмы кодирования и декодирования в php - PullRequest
1 голос
/ 26 ноября 2010

Является ли плохой практикой показ значений базы данных в методе get с точки зрения безопасности?например: - 'http://example.com/user/id/10', где 10 берет значение из базы данных.

Может кто-нибудь предложить мне стандартные алгоритмы кодирования и декодирования, которые принимают два параметра (как для кодирования, так и для декодирования), чтобы можно было сохранить их какпеременная в php-файле (или в базе данных), а другой параметр - строка для кодирования или декодирования.

Заранее спасибо

Ответы [ 2 ]

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

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

Если вы не хотите, чтобы люди имели доступ к определенным «идентификаторам», просто убедитесь, что у них есть правильные учетные данные для входа на эту страницу.

Теперь, если вы хотите зашифровать / расшифроватьлегко, посмотрите на использование хэшей md5: http://php.net/manual/en/function.md5.php

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

Я бы ответил на первую часть вашего вопроса:

Является ли плохой практикой показ значений базы данных в методе get с точки зрения безопасности?например: - 'http://example.com/user/id/10', где 10 берет значение из базы данных.

Не совсем, это зависит от того, что' page 'делает с id / 10.Если вы просто отображаете информацию о пользователе (профиль), какой вред?Однако, если вы хотите замаскировать свои URL, это все зависит от вас.Я видел маскировку с использованием шифрования, однако мне любопытно, почему вы думаете, что URL будет «вредным»?Вы просто не хотите, чтобы пользователь видел id = 10?Я бы сосредоточился на том, чтобы сделать мой php / sql-запрос на этой странице безопасным, а не добавлять дополнительные издержки для шифрования чего-то безобидного (с моей точки зрения).

Для простоты вы можете использовать функцию php base64_encode и декодировать: http://us.php.net/manual/en/function.base64-encode.php

Этого вам должно хватить.Но я бы действительно подумал о том, ПОЧЕМУ вы хотите скрыть это, во-первых, обычно «легко читаемые» URL-адреса всегда являются бонусом, особенно когда речь идет о поисковой оптимизации.

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