2011-11-04 33 views
8

Chúng tôi có một hệ thống gửi email thường xuyên với các liên kết trong, nhiều trong số đó chứa các thông số URL được mã hóa như thế này:Hotmail rối tung với URL được mã hóa thông số

href="http://www.mydomain.com/login.aspx?returnurl=http%3A%2F%2Fwww.mydomain.com%2Fview.aspx%3Fid%3D1234%26alert%3Dtrue" 

Bạn có thể thấy rằng "ReturnUrl" tham số là được mã hóa. Tuy nhiên, có vẻ như một số lượng lớn người dùng của chúng tôi (có vẻ như hotmail) đều nhận được email với paramater này phần giải mã như:

href="http://www.mydomain.com/login.aspx?returnurl=http://www.mydomain.com/view.aspx?view.aspx%3Fid%3D1234%26alert%3Dtrue" 

Tại sao nó sẽ giải mã như thế này? Tại sao chỉ giải mã một phần ?? Do đó tôi không có ý tưởng làm thế nào để đối phó với nó. Tôi nghĩ về mã hóa base-64 nhưng chuỗi base64 chứa các ký tự cần giải mã quá ... Tôi nghĩ về mã hóa kép nhưng sau đó tôi sẽ không biết có nên giải mã đôi tham số hay không ... Có ai giúp được không? Cảm ơn.

+0

Chúng tôi cũng sẽ sử dụng thư mục này với người dùng hotmail. liên kết hoạt động tốt trong gmail, v.v. – Anders

Trả lời

0

Một lý do này có thể xảy ra là bởi vì quy tắc url để mã hóa are different before and after? vì vậy nếu cơ chế mà đang làm giải mã thực hiện nó từ 'trở lại' của url và giải mã táo truy vấn quy tắc cho đến khi nó tìm thấy đầu tiên ? sau đó điều này có thể gây ra vấn đề bạn đang mô tả ...

Không chắc chắn cách xử lý nó mặc dù tôi hiểu rằng hệ thống thực hiện giải mã không phù hợp này nằm ngoài tầm kiểm soát của bạn. Tôi sẽ cố gắng ẩn truy vấn url ? trong truy vấn url trả về bằng cách nào đó ...

Các vấn đề liên quan