Два возможных решения, которые я могу придумать ...
Первое - создать уникальный URL-адрес на основе заголовка при сохранении страницы.
Если вы сохранитестраница с заголовком «Hello World», тогда URL-путь может быть ...
/ hello-world
Этот путь сохраняется вместе с остальными полями содержимого страницы.
Если позже будет создана другая страница с таким же заголовком, то ее URL может стать ...
/ hello-world-2
... и т. Д.
Второй вариант - включить идентификатор в URL-путь, но не в его целочисленную форму RAW.Вы можете использовать какой-то тип хеширования или шифрования, чтобы не подвергать напрямую идентификаторы базы данных.
Очень простая реализация может состоять в том, чтобы просто добавить некоторую константу к идентификатору и затем закодировать ее в шестнадцатеричном виде.
Несколько более изощренным способом может быть шестнадцатеричное кодирование идентификатора и объединение его с хешем идентификатора + некоторый секретный ключ.
По-прежнему будет довольно тривиально выяснить числовой идентификатор по заданному пути URL, но хакеру будет чрезвычайно трудно создать действительный URL страницы, только на основе идентификатора.
Если, например, я хотел извлечь весь контент страницы с сайта.Если сайт использует необработанные идентификаторы в URL-адресе, я могу просто перебрать некоторый диапазон угаданных идентификационных номеров, сгенерировать каждый URL-адрес и загрузить страницу.
Если, однако, URL-адреса содержат хэш идентификатора +секретный ключ, я не могу сгенерировать действительный URL, также не зная секретного ключа, используемого для хэша.