2

Я разрабатываю социальную сеть, и мне хотелось бы знать, можно ли на странице профиля пользователя ввести идентификатор пользователя в базу данных в качестве параметра в URL-адресе или это плохая идея с точки зрения безопасности?Можно ли установить идентификатор пользователя в качестве параметра url?

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

ответ

4

С точки зрения безопасности нет проблем с установкой идентификатора пользователя в URL-адрес. Например, StackOverflow делает это уже: https://stackoverflow.com/users/3477044/aliuk

Важно проверить, разрешен ли доступ к данному URL-адресу, который имеет данный аутентифицированный пользователь, и принять меры от его имени.

+0

А другим пользователям также разрешено просматривать этот URL, но не вносить туда никаких изменений. –

0

most socialnetwork, которую я использовал, используйте имя пользователя как url ​​not id, конечно, это также влияет на seo, так как у вас есть «довольно url».

Безопасность действительно зависит от того, как вы пишете свой код, скажем, есть страница для редактирования профиля, если вы надели код следующим образом: UPDATE .. SET .. WHERE id = $ _GET ['id' ]

нет сомнений, что это опасно, вы должны проверить каждое действие пользователя, как проводки/редактирования профиля, и т.п., который Логин, не то, что идентификатор на текущий URL

0

это безопасно, если вы обеспечиваете свой сайт от SQL инъекции. Но если происходит нарушение, все пользователи могут быть загружены. Единственное, что нужно хакеру, это найти профиль пользователя, который получит свой идентификатор. Копировать вывод sql-инъекции. Перейдите в текстовый редактор. Нажмите ctrl - f и найдите идентификатор пользователя.

+0

Но хакеры могли бы сделать то же самое с любыми другими данными вместо идентификатора пользователя, не могли ли они? – Aliuk

+0

В вашем ответе не так много. Проблема заключается не только в SQL-инъекции, но и в небезопасных прямых объектных ссылках в дополнение к операционным проблемам безопасности, возникающим при прямом раскрытии любого идентификатора базы данных в URL-адресе. –