Kezdőoldal » Számítástechnika » Weblapkészítés » Magasfokú védelem? (PHP)...

Magasfokú védelem? (PHP) Nagyon fontos

Figyelt kérdés

Kezdő vagyok még PHP téren, de mindent sikerült megcsinálnom amit szerettem volna. Viszont ebből kifolyólag nem vagyok benne az olyan trükkökbe, amivel megtudják károsítani az adatbázisomat, vagy bármimet a rosszakarók. A kérdésem következő lenne:

Milyen módon lehet "megtámadni" egy oldalt, és hogyan tudok ellene védekezni?

Amiről tudok az, hogy minden sql parancssort le kell ellenőrizni, hogy nincs-e benne $_POST, $_GET stb érték.

(PL: $sql2 = "UPDATE tábla.tábla Set oszlop='($_POST['input'])' WHERE oszlop2='xy' " ;)

A másik amiről tudok, hogy az olyan értékeket, amiket szabadon meg tud adni, akár input-ba, akár get-ben, azokat is ellenőrizni kell preg_matcht-al.


Egyéb jó tanács, tipp, vagy bármi ami segítheti az oldalam védelmét? (Legyen ez bármi)

Az oldal tartalmaz input-ot is, get-et is, "config.php"-ban van megadva az adatbázis elérése és ezt include paranccsal jelenítem meg minden olyan oldalon, ahol szükséges az adatbázis lekérdezés/szerkesztés miatt.



Előre is nagyon szépen köszönöm, nagyon fontos számomra, mivel hamarosan használni is szeretném az oldalt és óriási problémát okozna, ha emiatt károsodna az adatbázis, vagy bármi más.



2012. febr. 21. 15:56
 1/5 anonim ***** válasza:

1. ne direktbe tedd a posztot a lekérdezésedbe. $x = mysql_real_escape_string($_POST['x']);

2. használj tárolj eljárásokat

2012. febr. 21. 16:23
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

1, Igen, az első mondatodat már mint említettem arról tudok.

("Amiről tudok az, hogy minden sql parancssort le kell ellenőrizni, hogy nincs-e benne $_POST, $_GET stb érték.")


2, Második alatt mit értesz pontosan?

2012. febr. 21. 16:58
 3/5 anonim ***** válasza:

A 2. alatt gondolom én az SQL-en belüli tárolt eljárásokra gondolt, vagy nem tudom.... (Azt mondjuk nem gyakran használja az ember.)



3 olyan fő támadási módszer van (meg persze sok másik is) amit szoktak használni a weboldalak ellen:

XSS - ez a bemeneti értékeket "támadja". A lényege, hogy valamilyen módon futtatható kódot juttassanak az adott weboldalba, vagy találjanak egy módot, amivel le lehet futtatni javascript kódok.

Miért rossz ez? Nos mert ha van valamilyen beléptető rendszer az oldalon, ami sütit/sessiont használ, akkor ennek az adatait el lehet lopni és ki tudja a támadó adni magát másnak.

[link]


SQL Injection - ezzel a módszerre az adatbázisban tárolt értékeket szokás támadni. Ha találnak egy rést, amin keresztül valahogy lehet sql parancsokat futtatni, akkor meg is van kb az egész adatbázis felett a "hatalom". (Lehet törölni, módosítani és ügyesen akár lekérdezni minden adatot is, jelszó hash-eket stb...)

[link]


CSRF - Ezzel a támadással (mint mondjuk xss esetében a lopott sessionID-vel) más felhasználók "nevében" lehet cselekedni.

[link]



Persze rengeteg lehetőség van még, pl ha "felelőtlenül" include-olgatsz php-ban mondjuk akár változókkal.

(A legcsúnyább hiba pl: include($_GET['oldal']); )

Akkor lehetőséget adsz a támadóknak arra, hogy BÁRMILYEN php kódot futtassanak az oldaladon. Ebből lehetnek csúnya dolgok.

Vagy például a file feltöltő részeket is (sok esetben) könnyű kijátszani és fel lehet tenni futtatható kódokat. (Megfelelő szűrés kell!)



Ezek most tényleg csak nagyon alapok és próbáltam érthetően fogalmazni, remélem sikerült.

2012. febr. 21. 17:08
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Esetleg egy magyar nyelvű leírást kaphatnék az ezek elleni védelemhez?
2012. febr. 21. 17:59
 5/5 anonim ***** válasza:

Magyar leírás nem sok van.

Be kell érned az angollal.

2012. febr. 21. 20:28
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!