Мне нравится создавать безопасный URL для пользователя для его записей (удалять и редактировать ссылки).
например, это мой фактический URL
http://localhost/project/blogs/delete/1/test-title
что я хочу сделать,
http://localhost/project/blogs/delete/4324143563443/test-title (some hash made of salt+user auth id)
Моя основная цель – создать безопасный хэш вместе с URL для удаления и редактирования метода. Есть ли какой-либо пользовательский метод? Я искал функции CakePHP Security http://book.cakephp.org/2.0/en/core-utility-libraries/security.html и не уверен, правильно ли он это сделал или не уверен, какой алгоритм использовать)
Во-первых, хотя я не совсем понимаю, как / почему вы хотите это сделать, похоже, что вы хотите «защитить» эти ссылки, скрывая их URL. Это называется « Безопасность через Obscurity » и, как правило, неодобрительно.
В Cake (и большинстве приложений) обычный способ достичь этого – разрешить пользователям входить в систему (см. Компонент Auth ), а затем, например, в вашем действии удаления (то есть для URL / delete / 1) запросы будут проверяться для действительного сеанса пользователя и что у пользователя есть достаточные разрешения для удаления.
Хотя я бы настоятельно рекомендовал иначе, если бы вы захотели создать эти неясные URL-адреса, тогда вам, вероятно, следует использовать Security :: hash (); , Проблема заключается в том, что вы не сможете просто хешировать идентификатор, а затем определить id из хэша напрямую (вот и вся точка!). Вместо этого вам нужно будет хранить хэши в базе данных и затем запрашивать хеш (каждый пост может иметь уникальный хеш, сгенерированный либо из идентификатора, либо из случайных данных, либо будет делать).
Как уже упоминалось, «Безопасность безвестности» не очень умна. Тем не менее, самый простой способ добиться того, что вы хотите, – это использовать UUID для первичного ключа вашей таблицы вместо числового автоматического приращения.