Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][MySQL][PHP] Ochrona przed włamaniem do mysql
Forum PHP.pl > Forum > Przedszkole
troian
Witam, mam problem z włamaniem na serwer, tzn facet który dokonywał włamań zmieniał treść wyświetlaną na stronie która była zawarta w tabelach mysql, zastosowałem zabezpieczenia w postaci sprawdzania znaków jakie zostały wprowadzone do $_POST oraz $_GET oto fragment kodu sprawdzający ów działanie:
Pierwsza funkcja obcinająca niepotrzebne znaki: takie jak @ # itp [ do emaila mam inną funkcję ]
  1. function znaki($string) {
  2. $sprawdz = preg_match("/^[a-zA-Z0-9]+$/",$string);
  3. if($sprawdz) {
  4. return true;
  5. }
  6. else {
  7. return false;
  8. }
  9. }



następny to filtry które dla pewności usuwają ów znaki
  1. function clearstr($string) {
  2. $string = trim($string);
  3. $string = htmlspecialchars($string);
  4. $string = stripslashes($string);
  5. $string = mysql_real_escape_string($string);
  6. return $string;
  7.  
  8. }


do $_GET i $_POST które są tylko watościami liczbowymi dodaje przedrostek (int)

Oto jak to wygląda w kodzie
  1. funkcja dla watości liczbowej $_GET
  2. if (znaki($_GET['poz']))
  3. {
  4. $page = (int) clearstr($_GET['poz']);
  5. }
  6.  
  7. A $_POST w taki sposób:
  8.  
  9. znaki(clearstr($_POST['login']))
  10.  


Czy ktoś zna jeszcze jakiś sposób włamań oraz w jaki sposób można by go zabezpieczyć, Bardzo proszę o pomoc bo sporo się napracowałem przy stronie a teraz jakiś pajac od którego nie chciałem kupić projektu niszczy mi stronę.
Damonsson
Wyłącz serwer dla pewności wink.gif
modern-web
Zablokuj pulę adresów IP, może poskutkować wink.gif
Wazniak96
Moduł mysql_* jest już uważany za przestarzały, a wręcz ma być wyprowadzany z PHP. Do tego jest podatny na różne ataki. Poczytaj o PDO i bindValue. To pomaga na większość włamań (a przynajmniej nie znam żadnego możliwego obejścia tego). Do tego jest ono nowoczesne i ponoć szybsze, choć przy moich małych projektach nie wyczułem dużej różnicy smile.gif
modern-web
Wydajność to kwestia drugorzędna, najważniejsza jest wygoda i poziom bezpieczeństwa. PDO faktycznie wprowadza dużo udogodnień. Spróbuj - polubisz.
troian
Dziękuje za podsunięcie rozwiązania jednak było ono nieco inne, jednak czytałem o tym i wydaje się jednak lepszym pomysłem co do włamań była to moja wina jedna strona nie miała sprawdzania i można było modyfikować kod.
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.