Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Adresy hiperłącz zakodowane przez urlencode i problemy przeglądarek, Traktowanie pełnych zakowanych linków jak względne.
8rol
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 10.10.2009

Ostrzeżenie: (0%)
-----


Witam.


Witam, wyświetlam sobie z bazy zapisane referery, tworząc z nich hiperłącza.
Nazwą hiperłącza jest adres przepuszczony przez htmlentities, a adresem jest adres przepuszczony przez urlencode.
Oczywiście wszystko to w celu zapobiegnięcia wykonania XSS itp.


Jednak jest pewien problem. Kompletne adresy zakodowane przez urlencode przeglądarka traktuje jak adresy względne, doklejając do nich z przodu obecną lokalizacje.

Domyślam się, że problem ten spowodowany jest tym, że zakodowany adres zaczyna się jako: http%3A%2F%2F zamiast http://

W jaki sposób rozwiązać ten problem? Wiadomo, można by się bawić w preg_replace, str_replace itp. ale myślę, że problem nie jest nowy i ktoś zna znacznie lepsze rozwiązanie?
Go to the top of the page
+Quote Post
AlexDeLarge
post
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/function.parse-url.php myślę, że to pomoże Ci rozwiązać ten problem (encode jedynie na odpowiednich częściach adresu).

Zdrówka życzę.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.09.2025 - 07:33