⊗ppSpPDQu 58 of 83 menu

PHP-daky PDO soraglarynyň problemalary

Bilşiňiz ýaly, SQL soraglary SQL-inýeksiýalaryna ýol berýär. PDO giňeldilmäsi inýeksiýalara garşy göreşmek üçin döredilendi, ýöne ýönekeý, deslapky ýagdaýda, ol muny etmeýär.

Mesele üstünde meseläni seredeliň. Bizde üýtgeýän ýere goşulýan aşakdaky sorag bolsun:

<?php $sql = "SELECT * FROM users WHERE id=$id"; $res = $pdo->query($sql); ?>

Üýtgeýänimiz bir ýerden gelýär diýeliň, mysal üçin, GET-parametriden. Ýönekeýleşdirmek üçin, ýöne, geliň diňe ony el bilen belirleýälim. Biz käbir san bahasyny gözläýäris, mysal üçin, şeýle:

<?php $id = 1; ?>

Howply haker, ýöne, aşakdaky bahany geçirip biler (bizde role meýdany bar diýip hasaplaýarys):

<?php $id = '-1 OR role="admin"'; ?>

Şonuň üçin, biz aşakdaky soragy gözledik:

<?php $sql = "SELECT * FROM users WHERE id=1"; $res = $pdo->query($sql); ?>

Ýöne saýtyň administratyryny çykarýan aşakdaky soragy aldyk:

<?php $sql = "SELECT * FROM users WHERE id=-1 OR role="admin""; $res = $pdo->query($sql); ?>

Munuň ýüze çykmazlygy üçin, PDO-da ýörite mehanizm öň görülýär, ona taýýarlanan soraglar diýilýär. Olar bilen biz indiki sapakda meşgullanarys.

Bilerek özüňiziň bazanyza SQL-inýeksiýa ýerine ýetiriň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et