Я бы ответил на первую часть вашего вопроса:
Является ли плохой практикой показ значений базы данных в методе 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-адреса всегда являются бонусом, особенно когда речь идет о поисковой оптимизации.