Я разрабатываю PHP-приложение для управления заказами для компании. Для просмотра заказа URL в настоящее время /orders/view/3502
.
Я не хочу, чтобы номер идентификатора заказа появлялся в URL, поэтому я использовал библиотеку шифрования CodeIgniter для шифрования идентификатора в URL. URL (после шифрования) выглядит как /orders/view/AaffGdQQ
.
Проблема, с которой я сталкиваюсь, иногда заключается в том, что зашифрованный идентификатор содержит косую черту или знак плюс, которые некорректно работают в URL-адресе. CodeIgniter считывает URL-адрес на основе косой черты, поэтому, если зашифрованный идентификатор имеет косую черту, он считывает это как 2 переменные, а не как одну. Кроме того, знаки плюс интерпретируются как пробелы в URL.
Итак, мой вопрос: как я могу зашифровать идентификатор и быть уверенным, что строка не содержит знака плюс или косой черты?
РЕДАКТИРОВАТЬ: У меня была идея проверить, содержит ли зашифрованный идентификатор косую черту или знак плюс, и если это так, зашифровать его снова. По какой-то причине каждый раз, когда идентификатор шифруется, он отличается, поэтому это будет работать.