Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Usuwanie wartości w GET przed wysłaniem
Forum PHP.pl > Forum > Przedszkole
Falcon2
Witam

Mam problem. Posiadam formularz wysyłający wynik metodą get ($_GET['s']) do drugiej strony dodając w adresie podaną wartość. Chciałbym się zapytać jak zrobić żeby zaraz po formularzu wstawić kod, który usuwa z $_GET niedozwolone słowa przed ich wysłaniem do następnej strony? Próbowałem zrobić
  1. <? $_GET['s']=str_ireplace('UNION','',$_GET['s']);  ?>
ale nie działało. Celem jest usunięcie niedozwolonych słów, aby napisany mechanizm reagujący na niebezpieczny kod w GET nie urucamiał się
wookieb
Tak się zapytam... Po co usuwać słowo UNION? Rozumiem sql injection. Ale przecież wystarczy dać mysql_real_escape_string baddz pgsql wersje tej funkcji i nie ma problemu z sql injection.
Falcon2
taki tylko przykład podałem, mysql_real_escape_string używam, jednak chciałbym poznać rozwiązanie do mojego problemu jeśli coś takiego da się zrobić
ddiceman
W zla strone kombinujesz. Zamiast usuwac niedozwolone rzeczy z GETa przed wyslaniem, usun je po drugiej stronie, po odbiorze, ale przed przetworzeniem:

a.htm:
  1. <form action="b.php">
  2. <input type="text" name="s">
  3. </form>
  4. ...


b.php:
  1. <?php
  2. $_GET['s'] = str_replace ('UNION', '', $_GET['s']);
  3. echo $_GET['s'];
  4. ...
  5. ?>
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.