Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie zapytanie bez dostępu do globalnych
Forum PHP.pl > Forum > PHP
daniel1302
Gdy musze zabezpieczyć skrypt a niemam dostępu do globalnych
mogę to jakoś zrobić bo pisze sterownik do obsługi bazy danych(już mam)
i
  1. <?php
  2. $query="UPDATE players SET profil='".$_POST['profil']."' WHERE id=.$player->id";
  3. mysql_query($query);
  4. ?>


jak to zabezpieczyć

Dziękuje
Strzałek
Sprawdzić co jest w $_POST, ale to nie ma prawa działać :| Nie wiem co dokładnie chcesz zrobić, bo tutaj wygląda że do kolumny profil chcesz wrzucić całą globalną tablicę z post'em.

A sprawdzanie? Recepta jest prosta. Profil? Wyczyść dziwne znaki, użyj do tego funkcji do maniupulacji stringami. Id? Wiadomo liczba i wszystko jasne. Więc player->id musi być int'em i tyle. Całe zabezpieczanie winksmiley.jpg
daniel1302
Ale mam sterownik do obsługi mysql i w nim musze zabezpieczyć a cały post to pomyłka chce abym nie musiał w skrypcie tylko zabezpieczało samo podczas wykonywania zapytania
Strzałek
Cytat
chce abym nie musiał w skrypcie tylko zabezpieczało samo podczas wykonywania zapytania


Kompletnie nie rozumiem :| Jedyne co mi przychodzi jeżeli koniecznie chcesz robić to po stronie bazy danych to napisać jakąś funkcję czyszczącą w SQL'u.

A skoro masz sterownik to daj w nim sobie jakąś metodę prywatną do przeprasowania tego co dostajesz. Żeby wywaliła śmieci i nie potrzebne rzeczy i wykonaj zapytanie.

Do końca nadal nie rozumiem o co chodzi.
daniel1302
OK napisze co mam i co muszę
1. Mam klasę do mysqla(sterownik)
2. Mam zapytanie ($query = "UPDATE players SET pfofil='".$_POST['profil']."' WHERE id=".$player->id)
3. Nie mogę odwołać się do $_POST['profil']
4. Musze zabezpieczyć zapytanie, jak użyje funkcji addslashes to zapytanie zwróci błędy ponieważ w niektórych momentach apostrofy są konieczne.
5. I czy jak zabezpieczę to zapytanie to czy skrypt bedzie bezpieczny? np PDO tak ma


Jak to zrobić(zabezpieczyc)
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.