Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Adresy hiperłącz zakodowane przez urlencode i problemy przeglądarek
Forum PHP.pl > Forum > Przedszkole
8rol
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?
AlexDeLarge
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ę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.