Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Funkcja zabezpieczenia
village_boy
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.12.2006

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


Chciałbym przedstawić do oceny, a właściwie do poprawki tongue.gif prostą funkcję, która ma za zadanie zabezpieczać przed SQL injection i innymi atakami. Oto kod:
Kod
function walidator($zrodlo) {
global $zrodlo;
$zrodlo = stripslashes($zrodlo);
if (eregi("system", $zrodlo) || eregi("UNION", $zrodlo) || eregi("select", $zrodlo) || eregi("include", $zrodlo)) {
$ip = $_SERVER['REMOTE_ADDR'];
$powod = $zrodlo;
$query = "INSERT INTO ban (ip, powod, data) VALUES ('$ip', '$zrodlo', now())";
$result = mysql_query($query) or die("Lol...");
die();
} else {
return 0;
}
}


Co w tej funkcji można jeszcze umieścić - czyt. funkcje, warunki itp. snitch.gif Dzięki z góry za pomoc cool.gif

Ten post edytował village_boy 12.12.2006, 15:57:31
Go to the top of the page
+Quote Post
dtb
post
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


jaki to ma sens?:
  1. <?php
  2. function walidator($zrodlo) {
  3. global $zrodlo;
  4. ?>


zamierzasz potem uzywac 'powod' w funkcji eval? jak nie to po co ci include? jak tak to powinnes dodaj jeszcze include_once, require, require_once.

prawde mowiac to wszystko jest bez sensu. nie potrzebnie mieszasz. stripslashes powinno wystarczyc

Ten post edytował dtb 12.12.2006, 16:16:26


--------------------
Go to the top of the page
+Quote Post
village_boy
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.12.2006

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


Więc tak:
Pod $zrodlo będę podpinał dane z formularza, które mają wyłapywać słowa takie jak insert itp. Przecież te słowa nie powinny być wykorzystywane np. w księdze gości, prawda smile.gif ?

$powod to jak pole z formularza które zostało przesłane do funkcji. Jeżeli użytkownik będzie próbował SQL Injection, to funkcja wyłapie to i wklei do bazy danych. Gdyby funkcja niesłusznie zbanowała użytkownika, będzie mógł zgłosić się, podać swoje ip i wtedy będzie można rozpatrzyć, czy atakował świadomie czy po prostu użył zabronionego słowa.


Cytat
zamierzasz potem uzywac 'powod' w funkcji eval? jak nie to po co ci include? jak tak to powinnes dodaj jeszcze include_once, require, require_once.

Przepraszam, ale gdzie Ty tam widzisz include? snitch.gif

Ten post edytował village_boy 13.12.2006, 14:14:19
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 23:03