SQL-ya Parametrekirî, ku wekî daxuyaniyên amadekirî jî tê zanîn, teknîkek e ku di pêşkeftina serîlêdana malperê de tête bikar anîn da ku qelsiyên derziya SQL kêm bike. Ew di pirsên SQL de karanîna cîhgiran vedihewîne ku paşê bi nirxên ku ji hêla bikarhêner ve hatî peyda kirin têne veguheztin. Bi veqetandina mantiqa pirsê ji têketina bikarhêner, SQL-ya parameterkirî dibe alîkar ku pêşî li darvekirina koda SQL ya xerab bigire.
Dema ku serîlêdanek webê SQL-ya parameterkirî bikar tîne, berî ku têketina bikarhêner were tevlê kirin, pirsa SQL pêşî ji hêla servera serîlêdanê ve tê amadekirin. Lêpirsîn ji bo nirxên ku ji hêla bikarhêner ve hatî peyda kirin bi cîhgiran re ji servera databasê re tê şandin. Van cîhgiran bi gelemperî bi nîşaneyên pirsê an parametreyên navkirî têne destnîşan kirin. Dûv re servera databasê, bêyî ku nirxên rastîn bihesibîne, pirsê berhev dike û xweşbîn dike.
Dema ku pirs hat amadekirin, têketina bikarhêner bi cîhgiran ve girêdayî ye, wan bi nirxên guncan veguherîne. Pêvajoya girêdanê piştrast dike ku têketina bikarhêner wekî daneyê tête hesibandin û ne wekî kodek îcrakar. Ev veqetandina mantiqa pirsê û têketina bikarhêner pêşî li êrîşên derzîlêdana SQL digire ji ber ku servera databasê dizane ku têketina bikarhêner divê wekî daneyê were şîrove kirin, ne wekî beşek ji avahiya pirsê.
Bi karanîna SQL-ya parameterkirî, sepanên malperê dikarin bi bandor qelsiyên derzîlêdana SQL kêm bikin. Li vir çend avantajên sereke yên vê rêbazê hene:
1. Parastina li dijî derzîlêdana SQL: SQL-ya Parametrekirî piştrast dike ku têketina bikarhêner wekî daneyê tête hesibandin, îhtîmala derzîlêdana koda SQL ya xerab ji holê radike. Ji ber ku têketina bikarhêner wekî nirxek tête hesibandin, her çend ew tîpên taybetî an hevoksaziya SQL jî hebe, ew ê wekî beşek ji avahiya pirsê neyê şîrove kirin.
Mînakî, lêpirsîna SQL-ya xeternak a jêrîn bêyî parametrebûnê binirxînin:
SELECT * FROM users WHERE username = 'admin' AND password = '<user_input>';
Êrîşkarek dikaribû vê pirsê îstîsmar bike bi têketina "" AN "1"="1" -" wekî têketina bikarhêner, bi bandor ji kontrolkirina şîfreyê derbas dibe. Lêbelê, bi karanîna SQL-ya parameterkirî, pirs dê wusa xuya bike:
SELECT * FROM users WHERE username = 'admin' AND password = ?;
Ketina bikarhêner bi cîhê ve girêdayî ye, pêşî li hewildanên derzîlêdana SQL digire.
2. Performansa pêşkeftî: Pirsên SQL-ya Parametrekirî dikare carekê were amadekirin û gelek caran bi nirxên cihêreng were darve kirin. Ev her carê ku lê tê darvekirin serkêşiya parskirin û xweşbînkirina pirsê kêm dike. Daxuyanên amadekirî dikarin ji hêla servera databasê ve werin cache kirin, ku di encamê de ji bo pirsên pir caran têne darve kirin performansa çêtir dibe.
3. Pêşîlêgirtina çewtiyên hevoksaziyê: SQL-ya Parametrekirî dibe alîkar ku pêşî li xeletiyên hevoksaziyê yên ku ji ber têketina bikarhêner bi rengek nerast formatkirî ne bigire. Pêşkêşkara databasê têketina bikarhêner wekî daneyê digire, piştrast dike ku ew bi avahiya pirsê re mudaxele nake.
4. Abstrakasyona databasê: SQL-ya Parametrekirî rê dide berhevkirina databasê çêtir, ji ber ku koda serîlêdanê ne hewce ye ku ji hevoksaziya taybetî an avahiya databasa bingehîn haydar be. Ev hêsantir dike ku meriv di navbera pergalên databasê yên cihêreng de bêyî guheztina mantiqa serîlêdanê veguherîne.
SQL-ya Parametrekirî teknîkek hêzdar e ku ji bo kêmkirina qelsiyên derzîlêdana SQL di sepanên malperê de. Bi veqetandina mantiqa pirsê ji têketina bikarhêner û dermankirina nirxên ku ji hêla bikarhêner ve hatî peyda kirin wekî daneyê, SQL-ya parameterkirî li hember êrişên derzîlêdana SQL parastinek xurt peyda dike. Feydeyên wê parastina li dijî derzîlêdana SQL, performansa çêtir, pêşîlêgirtina xeletiyên hevoksaziyê, û berhevkirina databasê çêtir e.
Pirs û bersivên din ên vê dawiyê di derbarê EITC/IS/WASF Bingehên Ewlekariya Serîlêdanên Webê:
- Sernavên daxwaznameya metadata fêhmkirinê çi ne û ew çawa dikarin werin bikar anîn da ku di navbera heman eslê xwe û daxwazên xaç-malperê de cûda bikin?
- Cûreyên pêbawer çawa rûyê êrîşa serîlêdanên malperê kêm dikin û nirxandinên ewlehiyê hêsan dikin?
- Armanca polîtîkaya xwerû di celebên pêbawer de çi ye û ew çawa dikare were bikar anîn da ku peywirên rêzikên neewle nas bike?
- Pêvajoya afirandina cûreyên pêbawer bi karanîna API-yên pêbawer çi ye?
- Di polîtîkaya ewlehiya naverokê de rêwerzên cûreyên pêbawer çawa alîkariya kêmkirina qelsiyên DOM-based scripting cross-site (XSS) dike?
- Cûreyên pêbawer çi ne û ew çawa di serîlêdanên webê de qelsiyên XSS-ya DOM-ê çareser dikin?
- Siyaseta ewlehiya naverokê (CSP) çawa dikare di kêmkirina qelsiyên nivîsbariya xaçerê (XSS) de bibe alîkar?
- Sextekariya daxwaziya xaçerê (CSRF) çi ye û ew çawa dikare ji hêla êrîşkaran ve were bikar anîn?
- Di serîlêdanek webê de qelsiyek XSS-ê çawa daneyên bikarhêner têk dibe?
- Du çînên sereke yên qelsbûnê ku bi gelemperî di serîlêdanên malperê de têne dîtin çi ne?
Pirs û bersivan di Bingehên Ewlekariya Serlêdanên Webê yên EITC/IS/WASF de bibînin