![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
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ę. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.09.2025 - 07:33 |