Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zabezpieczenie związane z metodą GET, Jak sprawdzać dane trafiające do bazy danych przez metodę GET
Jozjasz
post 6.11.2011, 17:59:01
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 11.09.2009

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


witam,

Myślę jak napisać skrypt, który będzie sprawdzał długość każdego stringu przesłanego za pomocą GET - Każdego, a nie pojedyńczego, gdzie trzebaby za każdym razem podawać nazwę zmiennej...

Prototyp(niestety nie działający), mógłby wyglądać mniej więcej tak... Proszę o wskazówkę jak sobie z tym poradzić.
  1. <?php
  2.  
  3. if(isset($_GET)){
  4.  
  5. $dl = $_GET;
  6.  
  7. $ocena = strlen($dl);
  8. if($ocena > 20){
  9. #exit();}
  10. }
  11.  
  12. ?>
  13. <a href="abhor.php?dana=dlugoscslowa">link</a>



PS
Myślę, że dobrym zabezpieczeniem jesli taka zmienna ma trafić do zapytania SQL jest dodatkowo sprawdzenie każdej wartości, czy odpowiada ona tej która znajduje się w bazie danych (oczywiście jeśli jest ich większa ilość, to potrzebne jest połączenie z bazą danych). Np.

  1. if(isset($_GET['model'])){
  2. $model = strip_tags($_GET['model']);
  3.  
  4. @require_once("polaczeniezbaza.php");
  5. $q = "select nazwa from heroes where hero='latanie' ";
  6. $r = @mysqli_query($connect, $q);
  7.  
  8. while($row = @mysqli_fetch_assoc($r)){
  9. $naz = $row['nazwa'];
  10. if($model == $naz){
  11. $checkme = 1;}
  12. }
  13. if(!isset($checkme)){
  14. header("location: $url_a");
  15. exit();}
  16.  
  17.  
  18. }


czy stosowanie takich zabezpieczeń ma sens? Proszę o komentarz.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 13:32