Мэдээллийн эх сурвалж: http://ajaxmaa.blogspot.com
Өнөөдөр интернетээр дэмий хэсэж яваад КТМС-ын Вэб Програмчлал хичээлийн цахим хуудсыг олж үзлээ. Тэгтэл тэнд багш нь ийм код бичсэн байх юм:
Дээрх скрипт дээр product_id нь 1 or 1=1 гэж утга өгөхөд product багана дээр байгаа бүх мэдээллийг устгаж болохоор ажээ. Уг нь product_id хувьсагчийг int лүү хувиргаж байж sql query -г дуудах ёстойсон.
Их дээд сургуулийн багш нар иймэрхүү код бичиж хичээл заагаад байхад шавь нар нь яаж олигтой юм сурах вэ дээ. Тэд нар нь сургуулиа төгсөөд яаг иймэрхүү код бичнэ. Тэгээд энд тэндэхийн дурын дуракт хакдуулна. Иймд багш нарт ирээдүйд энэ тал дээр анхаараасай гэж хэлэх байна.
Ер нь хараад байхад Монгол цахим хуудаснуудаас их дээд сургуулийн цахим хуудаснууд хамгийн их алдаатай байдаг. Оюутнууд нь бичээд байдаг юм бол уу эсвэл багш нар нь байна уу хэхэ.
Зарим сэтгэгдэлүүд:
Мугуй дүрс:
oyutnuud l hiideg sh dee
Аноним:
$prod_id = (int)$_GET['prod_id'];
Za im uildel hiihgui bol mash osoltoi doo gej.
Ajaxmaa Daldaak metiin nuhduud oroldood salahgui biz.
Аноним:
oshoo if (!is_numeric($prod_id)) $prod_id=0; esvel settype($prod_id, "integer") gej bichej bolno shuu dee.
Аноним:
if (!is_numeric($prod_id)) gedeg maani nuhtsul shalgaad bielegdeh hugatsaanii huvid haritsangui udaan uchir $prod_id = (int)$_GET['prod_id']; esvel settype($prod_id, "integer") gesen n arai deer l dee. Mun bichegdeliin huvid (int) gesen n hamaagui hylbar bogino gej bodoj bna.
Mun yadaj user TABLE-aas username password-oo check hiihdee arai uur arga heregleh heregtei.
$sql = "SELECT *FROM users WHERE username='$username' && password='".md5($password)."'";
iim query shuud l inject hiigdene.
Yadaj:
$sql = "SELECT *FROM users WHERE username='".addslashes($username)."'";
$p = @mysql_query($sql)
$p = @mysql_fetch_array($p)
if ($p['username'] == $username && md5($password) == $p['password'])
{
echo "bla bla admin ch ym yy!";
}
esle { echo "sorry ch ym yy!"; }
Аноним:
tiimee parametrt handalt needful... ene ajaxmaa gej otgoo l um shig bna da)) shotgonba mon u?
Ч. Эрдэнэбат:
Уг хичээлийг мэдээллийн системийн менежментийн оюутнуудад заадаг. Менежментийн оюутнуудад та нөхдийнх шиг гүнзгий зүйл заах хэцүү л дээ. Гэхдээ манай хичээлийн сүүлийн лекц дээр аюулгүй байдлын талаарх ойлголтуудыг чухас ордог. Дараа жил таныг сүүлийн лекц дээр ирж аюулгүй байдлын талаар ганц цагийн яриа хийж өгвөл баярлах болно.
Хоёрдугаарт, Юун түрүүнд php, баазтайгаа ажиллах талаар дараа нь аюулгүй байдал талаас нь заасан нь дээр байх гэж бодож байна.
Програм хангамжийн оюутнуудад ингэж заасан бол шүүмжлэлийг хүлээн авахад бэлэн байна. Гэхдээ би програм хангамжийн оюутнуудад ямар нэг интернет програмчлалтай холбоотой хичээл ордоггүй.
Шүүмжилсэнд баярлалаа.
Dolugen:
Дээр багш бичсэн байна. Энэ чинь дөнгөж вэб програмчлалын үндэс шүү дээ. 2-р курсын хүүхдүүд SQL injection-оо дуулаа ч үгүй яваа биз...
Аноним:
Ажаксмаа чамайг гайгүй цагаан малгайт юм байх гэж босон чинь дөнгөж сурч байгаа нэгнээ доош нь хийж байдаг увайгүй нөхөр юм даа.
Аноним:
зссс, хүн шүүмжлэх хоббитой гарууд юмуу, та нар. өөрсдөө нэг л сайхан sql injection бичдэг гарууд юм биздээ, Эрдэнэбат багш юу зааж, юу хийхээ өөрөө мэднэ. Анхлан суралцагчдад гэнэт л тийм юм заагаад унавал нөгөө хэд нь эргүүтээд явчдым байгааздээ,
Хийж бүтээсэн, сайн сайхан зүйлийг нь харахаасаа илүү жижиг сажиг зүйлээр хөөцөлдөхдөө сайн гэдэг нь энэ хүмүүс...
Аноним:
Anhlan suraltslagchdad yor ni PHP zaah buruu zuil. dor hayad yamar negen huvisagch TYPE tei baidag gedgiig surahgui. Buh huvisagch aa STRING eer hiine.
Decoder:
Яахаараа гэнэт РНР заах буруу зүйл болоод явчдаг байнаа сүүлд бичсэн ҮЛ МЭДЭХ нөхөрөө. Тэгээд заахгүй бол нөхдүүд одоо юун дээр вэб хийх бол. Ядаж байхад сурах бичиг нь олдохгүй гэжийгээ. Бүүр яджийхад Англиар ойхгүй гэжийгаа .. Заза өөрсдөө мэдэцгээ. :P Бүх зүйлийг нэгдор заана гэвэл бас хэцүү, асуудал ихтэй байх даа. Би лав сайт дээрэээ анхан шатны кодууд бичээд л явж байна.. аймаар дэлгэрэнгүй бичвэл зарим нэг зүйлийг орхигдуулах нь ХУУЛЬ бөгөөд .... заза би ямар компьютер биш дээ.... бла бла...
Энэ гэхдээ энгийн нэгэн шүүмжлэл юм. Уг мэдээллийн доор нь сэтгэгдэл дээр нь сайхан ярилцаад явчихад шийдэгдэх асуудал байх. Тухайн хичээлийг уншиж байгаа нэг нь сэтгэгдлээс дэлгэрүүлээд ойлгоод авчихна гэсэн үг юм уу даа...
Аноним:
Ер нь бол Программчлалын хичээл гэдэг С, РНР хэл мэлүүд заахдаа биш онолын үндэсийг заах нь чухал арасо! Дээр нэг нөхрийн хэлсэн шиг хувьсагч хэдэн төрөлтэй тэднүүүд нь яг яадаг болхыг нь л заах сайн гэгч нь ойлгуулж заах нь чухал, түүн дээр нь өөрсдийгөө цааш хөгжүүлээд явах нь тухайн хүний ухамсар л мэднэ. Манайд энэ талын сайн багш нар зөндөөнөөрөө л байна. Харин оюутнууд бол дуракууд дүүрэн л байна. тэр РС-д суухынхаа оронд хэдэн эбүүк гүүлгэж суувал дээрсэн. А бас тэр банк хаакдах гээд байгаа найзад хэлэхэд ер нь наад хакердана гэдэг чинь угаас бүтэхгүй асуудал шүү тийм юм хөөж цагаа үрэх хэрэггүй тэрний оронд сүлжээний үндэсийн талаар олоод мэдчих тэгүүл наад бүтэхгүй мөрөөдлөө хаяхад чинь их тус болно байх. заза энэ бүгд зөвхөн миний бодол . эцэст нь хэлэхэд залуучуудаа монгол хэлээрээ олигтой яриж чадахгүй байж наад хараалаа жоохон бага....
Аноним:
za hicheeliin materiald zarim neg aldaa baij boliishdee. bagshaasaa lavlaal bolohgui baigaag ni helehed l bolooshd. Slide deer zarim neg aldaa garch boliishdee. Ymr ulaan tsain engej hiine geed bagsh ni heleed baigaa ym bish. Manai CSMS iinhen #1 gdgiig hen buhen mediishdee.
ер нь лекцнүүд иймэрхүү л байдаг штээ. Ямар жишээ болгон төгс байх албатай биш. Тэгэхдээ та залхууралгүй төрөл хувиргалт хийчэхгүй хэхэ
ReplyDeleteТийм, би төрөл хувиргалт хийх ёстой байсан юм. Лекцийн сүүлийн 5 минутанд нь хальт жижиг демо хийж үзүүлсэн юм. Лекцийн төгсгөлд үзүүлдэг демо тул хурдан, гол санаагаа үзүүлэх гээд яарсан тал бий.
ReplyDelete