Перезапись параметров URL - PullRequest
0 голосов
/ 26 октября 2011

Итак, у меня есть скрипт (написанный на PHP), который отправляет пользовательский ввод ссылочного номера и почтового индекса, а затем перенаправляет пользователя на страницу с параметрами URL, такими как:

http://mydomain.com/data.php?reference=REF1234&postcode=LE1FEH

Затем скрипт data.php будет извлекать данные из базы данных в соответствии с параметрами URL, теперь я хочу скрыть параметры в представлении пользователя - как для предотвращения SQL-инъекций, так и дляURL проще.Я не хочу напрямую скрывать введенные данные в URL.Apple, кажется, единственное место, где я могу найти, кто делает это прямо сейчас - в их URL вы можете увидеть номер заказа и почтовый индекс, но без знака равенства или чего-то подобного:

https://store.apple.com/uk/order/guest/ordernumber/postcode

Есть ли способ сделать это?

(Я не уверен, что вы классифицируете это как шифрование или нет, так что мне было труднонайти какие-либо полезные статьи на эту тему, а также хорошо ее сформулировать - так что извините, если это немного сбивает с толку)

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Пожалуйста, используйте .htaccess

Options +FollowSymLinks  
RewriteEngine on    
RewriteRule ^([a-z0-9A-Z]+)/([a-z0-9A-Z]+)$ ./data.php?reference=$1&postcode=$2 [NC]

Ваш URL http://mydomain.com/REF1234/LE1FEH будет обрабатываться как http://mydomain.com/data.php?reference=REF1234&postcode=LE1FEH, и вы можете получить значения методом GET.

Подробнее info

0 голосов
/ 26 октября 2011

Вам нужно использовать .htaccess и mod_rewrite, чтобы сделать это. Однако имейте в виду, что он так же уязвим к SQL-инъекциям, как и «нормальные» URL-адреса, и более подвержен внутренним ошибкам сервера при малейшем сбое. Лично я бы советовал не использовать этот метод, если только пользователи не захотят легко обмениваться URL-адресами, но независимо от того, что вы решите делать, всегда следите за тем, чтобы не делать инъекций.

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