회사의 주문을 관리하는 PHP 애플리케이션을 개발 중입니다. 주문을 보려면 URL은 현재 /orders/view/3502
입니다.URL의 암호화 된 데이터
URL에 주문 ID 번호를 표시하고 싶지 않아서 CodeIgniter의 암호화 라이브러리를 사용하여 URL의 ID를 암호화했습니다. URL (암호화 후)은 /orders/view/AaffGdQQ
처럼 보입니다.
내가 겪고있는 문제는 암호화 된 ID에 슬래시 또는 더하기 기호가 포함되어있어 URL에 올바르게 작동하지 않는 경우가 있습니다. CodeIgniter는 슬래시를 기반으로 URL을 읽습니다. 따라서 암호화 된 ID에 슬래시가 있으면 2 개의 변수가 아닌 하나의 값으로 읽습니다. 또한 더하기 기호는 URL의 공백으로 해석됩니다.
내 질문은 어떻게 ID를 암호화하고 문자열에 더하기 기호 또는 슬래시가 포함되어 있지 않은지 확인하는 것입니다.
EDIT : 암호화 된 ID에 슬래시 또는 더하기 기호가 포함되어 있는지 확인한 후 다시 암호화합니다. 어떤 이유로 ID가 암호화 될 때마다 ID가 다릅니다. 따라서 ID가 작동합니다.
URL에 주문 ID를 표시하는 것이 잘못된 이유는 무엇입니까? –
나의 상사는 '보안상의 이유'때문에 그것을 원하지 않습니다. –
사용자가 실제로는 주문을 볼 수있는 권한이 있는지 확인하고, 난독 처리가 아닌 주문을 보호해야합니다. – newbie