Kezdőoldal » Számítástechnika » Weblapkészítés » Egy űrlapnál milyen biztonsági...

Egy űrlapnál milyen biztonsági dolgokra kell figyelni?

Figyelt kérdés

Minden adatot az alábbiak szerint szoktam "bekérni":

$string=mysqli_real_escape_string($conn, $_POST["string"]);


Általában a mezőkre reguláris kifejezéseket is írok.


Biztonsági szempontból a fentiek mennyire elegendők? Esetleg mivel lenne érdemes még bővíteni?



2015. márc. 18. 01:26
 1/5 2xSü ***** válasza:

Nagy általánosságban elegendő ennyi a szerver oldalt nézve. Persze a konkrét működés fogja meghatározni, hogy milyen egyéb ellenőrzést kell még elvégezni. Mondok egy példát, anno csináltunk egy honlapon egy játékot. Egyszerű játék, A játékos beír egy számot 1 és 10 között. B játékos tesz öt tippet, ha eltalálta, ő nyert, ha nem, akkor A játékos nyert. Ellenőriztük ugyan, hogy A játékos számot írt-e be, meg azt is, hogy a szám 1 és 10 között van-e, de azt nem, hogy egész szám-e. A beírta azt, hogy 6,4243870231 és B az életben nem találta el…


Amire még általánosságban figyelni kell, az a szöveg kiírása. Ha nem escape-eled a speciális karaktereket – egy htmlspecialchars-szal –, akkor könnyen kerülhet a kliens oldalra mondjuk egy script, így lehetőséget adva egy XSS támadásra, session lopásra. Sok helyen csak esetleges ez a védelem, mondjuk egy fórum szövegénél van ilyen, egy privát üzenet törzsében van védelem, de mondjuk a felhasználó nevében, vagy egy üzenet tárgyában nincs. Márpedig nem kell hosszú szöveg ahhoz, hogy kívülről behúzzak egy akármilyen bonyolultságú scriptet. Oké, ez nem a szervert fogja veszélyeztetni, hanem a többi felhasználót, de akár remekül taccsara is lehet vele vágni egy szolgáltatást, sőt egy admin hozzáférés esetén akár a szerverre nézve is lehet biztonsági rés…

2015. márc. 18. 01:48
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
De ha van reguláris kifejezés, akkor a htmlspecialchars nem szükségen, nem? Mert úgy is korlátozva van, hogy mit írhat be.
2015. márc. 18. 02:01
 3/5 anonim ***** válasza:

Regexp valóban bekorlátozza, de! azért előfordulhat olyan is, amire nem gondolsz és még is rést hagysz.


Továbbiakban PDO-t javaslok adatbázis kommunikációra.

1) Nem kell foglalkozni az SQL injektorokkal, mert ő automatikusan mindent levéd

2) Nem fell foglalkozni a Select által visszatérő adat kezelésével, mert egy 2Dimenziós tömböt ad vissza array[sor][oszlop] formátumban.

3) Bármilyen adatbázisra feltid cuppanni.

4) Teljesen OOP

+1) Minden framework rendszer ezt használja :)

2015. márc. 18. 07:04
Hasznos számodra ez a válasz?
 4/5 2xSü ***** válasza:

#2: Attól függ, milyen adatról van szó. Egy dátumnál, telefonszámnál, email címnél még lehet reguláris kifejezést írni. Bár email esetén ma már kicsit neccesebb, hiszen vannak ékezetes karaktereket tartalmazó domain nevek is ugye…


Egy névnél már nehezebb az ügy, esetleg lehet valakinek a születési nevében idegen karakter. Egy üzenetnél meg nem nagyon tudsz reguláris kifejezést írni, lévén nincs neki formátuma, alkalmasint lehet, hogy az üzenetben jogosan szerepel a < és > jel, mondjuk egy matematikai egyenlőtlenség esetén. De már egy cégnév is jelenthet gondot, mert a cég neve esetleg tartalmaz & jelet. Ha nem figyelsz ezeknek a kiírására, akkor könnyen lehet, hogy simán beírod a cégnév helyére a HTML kódba azt, hogy <script src="hack.hu/xss.js"></script>


Az meg nem egészséges, mert ezen keresztül bizalmas információkat olvashat ki a script, vagy lekéri a sütiket, amik között ott a sessionID is, így akár a támadó be tud lépni a megtámadott user – akár admin – fiókjába is, anélkül, hogy ismerné a jelszavát. Sőt akár kis vírust is lehet így írni…


De nem csak direkt támadásra kell felkészülni. Lehet, hogy valaki csak egy smiley szerű dolgot akart beletenni, és annak van olyan része, ami HTML kódként értelmezhető. Pl.: „«<I>»„

Ha ezt nem kezeled le, mindjárt dőlt lesz az egész oldal tartalma…

2015. márc. 18. 12:03
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
Köszönöm szépen a magyarázatot és a segítséget!
2015. márc. 18. 13:02

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!