Как назначить непредсказуемый URL для веб-страниц в PHP - PullRequest
0 голосов
/ 05 сентября 2011

Я разрабатываю приложение на php, которое содержит много html-страниц, для которых не требуется вход пользователя для просмотра (на самом деле это требование). Страницы размещаются в разных папках, которые очень предсказуемы. например, www.abc.com/book1/chapter1/lesson1.php, www.abc.com/book1/chapter1/lesson2.php и т. д.

Следовательно, если кто-то знает путь к уроку 1, он автоматически знает путь к каждому другому уроку в папке главы.

Есть ли способ, которым, если есть запрос на www.abc.com/book1/chapter1/lesson1.php, путь, показанный в адресной строке браузера, выглядит примерно так: lesson1.php или любой другой непредсказуемый URL? я даже не знаю, возможно ли это или нет!

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

Вы можете сделать MD5-хеш относительного пути URL страницы + отметку времени сервера, чтобы создать непредсказуемую строку (назовем это «ключом страницы»), а затем сохранить ключ страницы + относительную связь URL в постоянномхранилище (реляционная база данных или - для скорости - постоянная база данных ) для последующего поиска.

Затем можно написать скрипт (например, "http://www.abc.com/page_mapper.php"), который принимает параметр" ключ ", выглядитвверх по относительному URL для указанного ключа, считывает связанный контент (если есть) и «передает его» клиенту.

Наконец, вы можете добавить правило перезаписи URL для сопоставления входящих запросов (например, «http://www.abc.com/book1/chapter2/abCvx9100xvz==")» к вашему сценарию (например, «http://www.abc.com/page_mapper.php?key=abCvx9100xvz==")», и все будет готово.

Конечно, любой, кто знает URL, может получить доступ к странице, но, возможно, выхотите ли? т.е. нормально ли это, если пользователь A отправляет по электронной почте ссылку (которую она может видеть) пользователю B, а пользователь B может ее видеть?

0 голосов
/ 05 сентября 2011

Не уверен, что вы можете так закодировать URL-адреса ... но вы наверняка могли бы заставить все сценарии перенаправлять на другой сценарий MEGA и использовать переменные или файлы сеанса, чтобы проверить и увидеть, откуда пользователь поступил ... и действовать соответствующим образом,Как только MEGA-скрипт направляет на другую страницу, он сначала сохраняет переменную сеанса, которую вы можете проверить, когда откроется целевая страница перенаправления.

0 голосов
/ 05 сентября 2011

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

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