Ti o ba lo stripchar Láti nu ìfilọ́lẹ̀ olùlò, kìí ṣe ìwọ nìkan ni o wà. Ọ̀pọ̀ àwọn olùgbékalẹ̀ gbẹ́kẹ̀lé irú èyí imototo input láti dènà àwọn ìgbìyànjú abẹ́rẹ́. Ní àkọ́kọ́, ó dàbí ohun tó bọ́gbọ́n mu, ó mú àwọn ohun tó léwu kúrò, ẹrù iṣẹ́ náà sì pòórá. Síbẹ̀síbẹ̀, ọ̀nà yìí fúnni ní ìmọ̀lára àìtọ́ nípa ààbò. Ní òótọ́, àwọn olùkọlù lè kọjá àwọn àlẹ̀mọ́ tó rọrùn bíi stripchar lilo awọn ẹrù ti o bò mọ́lẹ̀, àwọn ìyípadà ìlànà, tàbí ìyípadà àyíká tó lọ́gbọ́n. Ìdí nìyẹn tí àwọn olùgbékalẹ̀ ọlọ́gbọ́n kò fi dúró síbẹ̀. Dípò bẹ́ẹ̀, wọ́n máa ń lo parameterized ibeere, èyí tí ó ń dènà àwọn ìkọlù abẹ́rẹ́ ní gbòǹgbò.
Nínú ìfìwéránṣẹ́ yìí, ìwọ yóò kọ́ ìdí rẹ̀ stripchar Àìkùnà nínú àwọn ìṣẹ̀lẹ̀ gidi, bí àwọn olùkọlù ṣe ń lo àwọn àlẹ̀mọ́ wọ̀nyí nílòkulò, àti àwọn àṣàyàn ààbò wo ló ń ṣiṣẹ́ gan-an. A ó ṣe àgbéyẹ̀wò àwọn àpẹẹrẹ kódù, a ó fi àwọn ọ̀nà ìdènà tí ó wọ́pọ̀ hàn, a ó sì ṣàlàyé bí imototo input gbọ́dọ̀ máa so mọ́ àwọn ààbò ìṣètò nígbà gbogbo bíi parameterized ibeere, tàbí o máa wà ní ipò ewu.
Kini stripchar Òótọ́ ni (kò sì ṣe bẹ́ẹ̀)
Ọpọlọpọ awọn olupilẹṣẹ lo stripchar tàbí àwọn iṣẹ́ tó jọra láti mú àwọn ohun kikọ tí kò léwu kúrò nínú ìtẹ̀síwájú olùlò. Lọ́pọ̀ ìgbà, ó máa ń yọ àmì ìdámọ̀, àwọn àmì pàtàkì, tàbí ohunkóhun tí kì í ṣe nọ́mbà lẹ́tà kúrò. Ní àkọ́kọ́, ìyẹn dàbí pé ó dàbí ẹni pé imototo input, ṣùgbọ́n kìí ṣe ààbò gidi.
Ẹ jẹ́ ká fọ́ ọ túútúú. Iṣẹ́ kan bí èyí:
yọ àwọn ohun kikọ sílẹ̀ bí ', ", tabi ;Nítorí náà, tí o bá tẹ:
Ó di:
Bí ìtẹ̀síwájú olùlò bá tilẹ̀ dàbí ẹni pé ó mọ́, àwọn olùkọlù ṣì lè fi àwọn ẹrù SQL sínú lílo ìlànà nìkan, pàápàá jùlọ nígbà tí ohun èlò náà bá ń kọ́ àwọn ìbéèrè nípasẹ̀ ìsopọ̀ string. Láti dènà ìfàgùn SQL ní tòótọ́, o gbọ́dọ̀ lo àwọn ìbéèrè tí a ti ṣe paramita àti mímú ìfọwọ́sowọ́pọ̀ tí ó ní ìtumọ̀. stripchar() kò tó rárá.
Dájúdájú, àwọn ìkọ̀wé tí a ti yọ kúrò lè dàbí èyí tí ó dára jù ní ojú kan. Síbẹ̀síbẹ̀, ọ̀nà yìí kò dín ìrònú búburú kù, ó kàn yí bí a ṣe ń kọ ọ́ padà ni. Ní tòótọ́, àwọn olùkọlù sábà máa ń lo àǹfààní èyí nípa ṣíṣàkó àwọn ẹrù iṣẹ́, fífi ààyè funfun sí i, tàbí lílo àwọn ohun kikọ tí a ti yọ kúrò ní ọ̀nà ọgbọ́n láti borí àlẹ̀mọ́ rẹ pátápátá.
Yato si, stripchar kò ní ìtumọ̀ pàtàkì. Kò mọ̀ bóyá ìtẹ̀síwájú ni a ń lọ sí ibi ìpamọ́ dátà, ikarahun, tàbí ẹ̀rọ aṣàwárí. Èyí túmọ̀ sí wípé kò le lo ìsálà tàbí ìkọsílẹ̀ tó tọ́. Fífi ìtẹ̀síwájú mọ́ ara ẹni láì mọ ibi tí a ń lọ dàbí sísálà HTML nígbà tí ewu gidi náà bá wà. SQLi.
Ni ipari, stripchar Kò túmọ̀ tàbí dáàbò bo ohunkóhun, ó kàn ń ṣàtúnṣe àwọn okùn. Àti pé àtúnṣe kì í ṣe ààbò. Tí o bá fẹ́ ààbò gidi, lo àwọn ìbéèrè tí a ṣètò, tí a ti fọwọ́ sí, àti tí a ti paramita sí. Dúró pátápátá.
Láti mú kí ìyàtọ̀ náà ṣe kedere, èyí ni bí stripchar ṣe fi wéra pẹ̀lú àwọn ìbéèrè tí a ti paramita:
Àwọn Ìbéèrè Stripchar àti Parameterized: Èwo ló ń dáàbò bo kóòdù rẹ ní tòótọ́?
| ẹya-ara | stripchar() | Parameterized ibeere |
|---|---|---|
| Idaabobo Level | Ìmọ́tótó okùn ìpìlẹ̀. Ó rọrùn láti fi àwọn ọgbọ́n ìkọ̀wé tàbí ìlànà rékọjá. | Idaabobo to lagbara lodi si gbogbo awọn fọọmu ti abẹrẹ SQL. |
| Imoye Oro | Kò mọ ibi tí ó wà (SQL, HTML, shell, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ). Ó ń lo òfin kan náà níbi gbogbo. | Ó mọ bí nǹkan ṣe rí gan-an. Ó ń lo àsálà tó yẹ fún gbogbo àyíká. |
| Ìsapá Olùgbékalẹ̀ | Ó yára láti lò ó ṣùgbọ́n kò ṣeé gbẹ́kẹ̀lé fún lílò rẹ̀ fún ìgbà pípẹ́. | Ó nílò ìṣọ̀kan tó tọ́, àmọ́ ó lágbára àti pé ó dájú lọ́jọ́ iwájú. |
| Atako Agbekọja | Kekere — awọn olukọlu yipada ni irọrun nipa lilo aaye funfun, koodu, tabi ọgbọn. | Gíga — ya koodu kuro ninu data ki o si dina abẹrẹ ni igbẹkẹle. |
| Ìgbẹ́kẹ̀lé Ààbò | Ìmọ̀lára ààbò èké — lè fi ìṣòro náà pamọ́ láìsí àtúnṣe rẹ̀. | Ile-iṣẹ ti o gbẹkẹle standard fún ìmúṣẹ ìbéèrè tó dájú. |
Báwo ni àwọn akópa ṣe ń ré ìfọmọ́ra ìtẹ̀síwájú wọlé
Báyìí ni ìṣàn omi tó wọ́pọ̀ tó lè farapa ṣe rí nígbà tí àwọn olùgbékalẹ̀ bá gbẹ́kẹ̀lé stripchar fun mimọ titẹ sii:
Àwọn olùkọlù kò nílò láti fọ́ àwọn àlẹ̀mọ́ rẹ, wọ́n kàn nílò láti lọ yí wọn káNígbà tí àwọn olùgbékalẹ̀ bá gbẹ́kẹ̀lé stripchar Fún ìfọwọ́sowọ́pọ̀ ìfọwọ́sowọ́pọ̀, wọ́n sábà máa ń rò pé yíyọ àwọn ohun kikọ bíi àwọn gbólóhùn tàbí semicolons kúrò yóò dí àwọn ìgbìyànjú abẹ́rẹ́ lọ́wọ́. Síbẹ̀síbẹ̀, àwọn olùkọlù máa ń yára yí ara wọn padà. Wọ́n máa ń ṣe iṣẹ́ ọwọ́ wọn kíákíá. awọn ẹrù ti o bò mọ́lẹ̀ tí ó máa ń yọ́ kiri nínú àwọn àlẹ̀mọ́ tí ó dá lórí regex, pàápàá jùlọ nígbà tí àwọn àlẹ̀mọ́ náà kò bá ní ìtumọ̀.
Fún àpẹẹrẹ, jẹ́ ká sọ pé o gbìyànjú láti sọ ohun tí o kọ sílẹ̀ di mímọ́ bí èyí:
Kódà bí olùlò kò bá le fi ohun èlò orin aláwòrán sílẹ̀ ' OR 1=1 --, wọ́n lè lo àwọn ọgbọ́n Unicode, ìsopọ̀ string, tàbí ìfọwọ́sowọ́pọ̀ tí ó ti bàjẹ́ tí ó ṣì ń ṣiṣẹ́. Àwọn ẹrù bí èyí sábà máa ń ṣiṣẹ́:
tabi:
Tí iṣẹ́ rẹ bá yọ àwọn ohun kikọ tí kì í ṣe ọ̀rọ̀ kúrò, o lè lairotẹlẹ tun ṣe aṣẹ SQL to wuloÈyí tó burú jù ni pé, àwọn olùkọlù lè fi àmì sí àwọn iye ní ọ̀nà tí ó lè kọjá àlẹ̀mọ́ rẹ ṣùgbọ́n ètò ìfọkànsí náà lè yí i padà.
Yato si abẹrẹ SQL, stripchar kò lè ṣiṣẹ́ dáadáa ní àwọn àyíká ọ̀rọ̀ míràn, bíi àṣẹ ikarahun, ipa ọ̀nà fáìlì, tàbí ìṣiṣẹ́ JavaScript pàápàá. Níwọ́n ìgbà tí kò mọ ibi tí a ó ti lo ìfiranṣẹ́ náà, kò lè lo ìsálà tàbí ìfọwọ́sowọ́pọ̀ tó yẹ.
Nitorina na, imototo input pẹlu stripchar Ó rọrùn láti kọjá. Ààbò gidi wá láti ọ̀dọ̀ awọn iṣakoso ti o mọ ipo-ọrọ, paapaa parameterized ibeere tí ó ń dènà ìfúnpọ̀ ọgbọ́n pátápátá.
Idi ti o fi yẹ ki o lo awọn ibeere ti a ti paramita dipo
Tí o bá fẹ́ dá àwọn ìkọlù abẹ́rẹ́ dúró ní gidi, o nílò láti dawọ kikọ awọn ibeere pẹlu awọn okun. Nibo ni parameterized ibeere Wọlé. Láìdàbí stripcharwọn kì í ṣe àlẹ̀mọ́, wọ́n koodu lọtọ lati data ní ipele ẹ̀rọ.
Ẹ jẹ́ ká tún wo ìbéèrè tí a ti bàjẹ́ yìí:
Èyí léwu nítorí pé ìtẹ̀síwájú náà ni a fi sínú SQL tààrà. Pẹ̀lú yíyọ àwọn ohun kikọ, o ṣì ń kọ́ okùn kan tí a lè lò ní ọ̀nà tí kò tọ́. Dípò bẹ́ẹ̀, lo ìbéèrè parameterized bíi èyí:
Níbí, awakọ̀ ibi ìpamọ́ dátà mọ̀ pé userInput jẹ́ dátà, kódì tí kìí ṣe èyí tí a lè ṣeÓ sá kúrò nínú rẹ̀ láìfọwọ́sí, ó sì ń dí ìfúnpọ̀ lọ́wọ́, kódà bí ìtẹ̀síwájú náà bá ní àwọn gbólóhùn, àwọn àmì ìdámọ̀, tàbí àwọn ẹrù ìsanwó tí a fi àmì ìdámọ̀ ṣe.
Nínú Python:
Nínú PHP pẹ̀lú PDO:
Nínú gbogbo àwọn àpẹẹrẹ wọ̀nyí, parameterized ibeere ṣe idiwọ abẹrẹ laisi aini lati mọ awọn ohun kikọ ti o le lewu. O ko nilo ìhòhò, o nilo ikole ibeere ti a ṣeto, ti o ni oye ipo.
Ni afikun, ilana yii n dènà awọn ẹru ti o ni didi, awọn ẹtan Unicode, ati awọn ọna yiyan koodu, awọn ilana imukuro kanna ti a rii ninu Àwọn àìlera XSSÀwọn irinṣẹ́ bíi Xygeni máa ń rí àwọn ewu wọ̀nyí ní ìbẹ̀rẹ̀ pẹ̀lú SAST onínọmbà.
Ní kúkúrú, àwọn ààbò gidi kìí gbẹ́kẹ̀lé àwọn àlẹ̀mọ́. Wọ́n gbẹ́kẹ̀lé àwọn ìlànà, àwọn API tí a gbẹ́kẹ̀lé, àti àyíká tí ó kún. Tí o bá lo àwọn frameworks tàbí dynamic service injection, mọ̀ bí àwọn ohun tí a fi ń wọlé ṣe ń tàn kálẹ̀ nípasẹ̀ kódì rẹ. Abẹrẹ igbẹkẹle to ni aabo rii daju pe awọn sisan ti o nira paapaa kii yoo ṣii awọn oju ikolu tuntun.
Má ṣe gbẹ́kẹ̀lé stripcharLo Xygeni láti fi agbára mú àwọn ààbò gidi
Bí o tilẹ̀ ń lò ó parameterized ibeere, kò sí ìdánilójú pé gbogbo ìpìlẹ̀ kódì rẹ yóò tẹ̀lé bákan náà standardÌlànà àtẹ̀yìnwá, àwọn ìwé àkọsílẹ̀ ẹni-kẹta, tàbí àwọn ìlà tí a kò fojú fo nínú ìfọ̀rọ̀wérọ̀ ìbánisọ̀rọ̀ lè fa ewu abẹ́rẹ́. Ibẹ̀ gan-an ni Xygeni ti ń ran lọ́wọ́.
Xygeni ṣe àyẹ̀wò koodu orísun rẹ, pull requests, àti CI pipelineláti mú:
- Àwọn okùn ìbéèrè tí ó ń kọ́ SQL pẹ̀lú ìsopọ̀
- Àwọn àlẹ̀mọ́ tí kò lágbára tàbí tí a gbìn nílé bíi stripchar
- Ìrònú tó ń fa ìjìyà tó bá àwọn ẹrù tó bò mọ́lẹ̀ mu
O ko nilo lati ya gbogbo ila. Xygeni ṣe afihan awọn ilana ti ko ni aabo ni kutukutu, o wulo Àtúnṣe Àìfọwọ́sowọ́pọ̀ níbi tí ó bá ṣeé ṣe, ó sì lè dènà àwọn ìdàpọ̀ eléwu pẹ̀lú àtúnṣe Guardrails.
Ni soki, Xygeni rí i dájú pé àwọn ìbéèrè tí a ti ṣe àgbékalẹ̀ kì í ṣe àṣà tó dára jù nìkan, wọ́n ń ṣiṣẹ́ ní ìwọ̀n. Kò sí àbámọ̀ mọ́. Kò sí àlẹ̀mọ́ tí a pàdánù. Ààbò gidi ni.f
Ṣé o fẹ́ rí bí Xygeni ṣe rí àwọn ìbéèrè tí kò ní ààbò nínú kódì rẹ?
Àwọn Ohun Pàtàkì: Àwọn Ohun Tí Ó Yẹ Kí A Rántí Nípa stripchar àti Àwọn Ewu Abẹ́rẹ́
- stripchar kìí ṣe iṣẹ́ ààbò — ó mú àwọn ohun kikọ kúrò, kìí ṣe ewu.
- Ìmọ́tótó ìtẹ̀síwájú kò tó nígbà tí o bá ń kọ́ àwọn ìbéèrè pẹ̀lú ìsopọ̀ okùn.
- Awọn ibeere ti a ṣe paramita ni aabo to tọ, gbogbo èdè tàbí ìlànà òde òní ló sì ń ṣe àtìlẹ́yìn fún wọn.
- Àwọn ẹrù tí ó díjú lè yọ́ kọjá àwọn àlẹ̀mọ́, pàápàá jùlọ tí ó bá jẹ́ pé àwọn ọgbọ́n ìkọ̀wé ló wà nínú rẹ̀.
- Ìṣàyẹ̀wò àìdúró (SAST) àwọn irinṣẹ́ mú ohun tí ènìyàn pàdánù, pẹ̀lú àwọn ìlànà àìní ààbò tí ó fara pamọ́ nínú kódì àtijọ́.
- Xygeni n ṣe adaṣe wiwa, fifi awọn ipo pataki sii, ati paapaa atunṣe kí ẹgbẹ́ rẹ lè dojúkọ àwọn ohun èlò ìkọ̀wé, kìí ṣe láti lépa àwọn àìlera.
Ìparí: Má ṣe gbẹ́kẹ̀lé àwọn àlẹ̀mọ́. Agbára láti fi ṣe ààbò.
Gbígbẹ́kẹ̀lé àwọn iṣẹ́ bíi stripchar Ó lè dà bí àtúnṣe kíákíá, ṣùgbọ́n wọ́n ń dá ìmọ̀lára ààbò èké sílẹ̀. Àwọn olùkọlù máa ń yára yí padà ju bí àwọn àlẹ̀mọ́ okùn ṣe máa ń ṣe lọ. Ọ̀nà kan ṣoṣo tó ṣeé gbẹ́kẹ̀lé láti dá àwọn ìkọlù abẹ́rẹ́ dúró ni nípa kíkọ kódù ààbò nípasẹ̀ ìṣètò, àti fífi agbára mú àwòrán náà láti ibi gbogbo.
Àwọn irinṣẹ́ bíi Xygeni máa ń ràn ọ́ lọ́wọ́ láti ṣe èyí láìfọwọ́sí. pull request si pipeline, wọ́n máa ń mú ohun tí àwọn àlẹ̀mọ́ rẹ kò bá ṣe, wọ́n sì máa ń tún un ṣe kí ó tó dé ibi tí wọ́n ti ń ṣe é.




