Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Oczyszczanie URL
Forum PHP.pl > Forum > PHP
Przem4S
Witam doszedłem do momentu gdzie czyszczę pobrany URL, piszę dlatego iż chcę maksymalnie zabezpieczyć wywoływanie.

Pobieram URL poprzez:
  1. $url_parts = explode('/', $_SERVER['REQUEST_URI']);
  2. $url_parts = array_filter($url_parts);
  3. $this -> controller = ($c = array_shift($url_parts));
  4. $this -> method = ($c = array_shift($url_parts));
  5. $this -> args = (isset($url_parts[0])) ? $url_parts : array();


Dodałem już opcję która filtruje polskie znaki:

  1. public static function replace_pl_special_strings($str)
  2. {
  3. $old = array(
  4. '%C4%85', '%C4%99', '%C5%82', '%C4%87', '%C5%BC',
  5. '%C5%BA', '%C3%B3', '%C5%84', '%C5%9B', '%C4%84',
  6. '%C4%98', '%C5%81', '%C4%86', '%C5%B9', '%C5%BB',
  7. '%C3%93', '%C5%83', '%C5%9A', '%20'
  8. );
  9.  
  10. $new = array(
  11. 'a', 'e', 'l', 'c', 'z',
  12. 'z', 'o', 'n', 's', 'a',
  13. 'e', 'l', 'c', 'z', 'z',
  14. 'o', 'n', 's', '-'
  15. );
  16.  
  17. $str = str_replace($old, $new, $str);
  18.  
  19. return $str;
  20. }


Co jeszcze powinienem zabezpieczyć? Czego się obawiać? Adresy url wyglądają u mnie w ten sposób: "/kontroler/metoda/argument1/argument2/argument[n]". Dziękuję za wszelkie sugestie.
!*!
Cytat
Adresy url wyglądają u mnie w ten sposób: "/kontroler/metoda/argument1/argument2/argument[n]"


Współczuję.

A co jeśli ktoś wpisze cyrylicę, lub cokolwiek innego? Sam załatwiam to na pregach, jeśli chodzi o URI, a generowanie linku np. przy dodawaniu artu stosuję iconv
bastard13
A może by tak ACL?
!*!
Cytat(bastard13 @ 21.05.2012, 08:34:17 ) *
A może by tak ACL?


A co ma ACL do linku i jego wyglądu?
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.