Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] include z $_GET
desavil
post
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

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


Witam.
Zastanawiam się, czy to co robię jest bezpieczne dla mojego serwisu:
  1. <?php
  2. $get_page = $_GET['page'];
  3. if(!empty($get_page) && preg_match('/^[0-9a-zA-Z\-]*$/i', $get_page) && file_exists('pages/'.$get_page.'.php')){ require('pages/'.$get_page.'.php'); }else{ require('pages/index.php'); }
  4. ?>

Czy już samo preg_match gwarantuje duże bezpieczeństo? Jak z niego wnioskuję nic oprócz podanych znaków/zakresów znaków nie przejdzie, czyli wprowadzenie w $_GET adresu URL, czy też próba wyjścia przed katalog pages (GET=../plik) będzie nie możliwe, gdyż są tam znaczniki które nie przejdą (/ , : .).
Dobrze myślę, czy się mylę? A może muszę jeszcze $get_page przepuścić przez htmlspecialchars, itp?

Tak samo z dodawaniem do bazy, jeżeli dane przejdą przez takiego preg_match'a to nie ma prawa wykonać się żaden sql injection, gdyż nie wprowadzi potencjalny włamywacz znaków, np. = ' " ` itp?

Pozdrawiam!

Ten post edytował desavil 6.03.2012, 08:53:01
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.09.2025 - 19:44