ွSQL ထိုးေဖာက္ျခင္း နည္းပညာမွ ကာကြယ္ဖို႕...
|
![]() ခုေဖာ္ျပထားတာကေတာ့..SQL တုိက္စစ္၇ဲ႕သတိျပဳစရာေလးေတြကို အဆင့္ျမင့္ SQL နည္းပညာျဖင့္ေဖာက္ထြင္းမႈ႕မ်ား
$result = mysql_query(‘SELECT text FROM pages WHERE id=’ . $_GET['id']);
echo($result);
?>
အေနနဲ႕ေဖာ္ျပထားမည္ဆိုရင္...
SQL Database အရ......... စာမ်က္ႏွာမွရွိတဲ့ စာေတြကို Select ေပးျခင္းျဖစ္ပါတယ္....
စာမ်က္ႏွာရဲ႕အေၾကာင္းအရာကိုေခါ
SQL အရ url မွာ $_GET['id'] နဲ႕ $_GET['id'] လို႕ေဖာ္ျပေလ့ရွိပါတယ္....
ဥပမာ http://www.mmitpro.com/index.
စြာေဖာက္ထြင္းမႈ႕ ျပဳ ႏိုင္ပါတယ္....
အဲလိုျဖစ္ေနခဲ့မည္ဆိုရင္ေတာ့...
$result = mysql_query(‘SELECT text FROM pages WHERE id=’ . mysql_real_escape_string($_
echo($result);
?>
လို႕ေျပာင္းလဲတည္ရွိမည္ဆိုရင္ ၁၀၀% လံုျခံဳမႈ႕ရွိပါတယ္...
အဲလိုေျပာင္းျပစ္တာကအလုပ္မလုပ္
ကြ်န္ေတာ္တို႕ ရဲ႕ pHP code မွာေအာက္ေဖာ္ျပပါပံုစံတည္ရွိေ
$result = mysql_query(‘SELECT text FROM pages WHERE id=’ . $_GET['id']);
echo($result);
?>
အဲပံုစံဟာလည္းေဖာက္ထြင္းလို႕ရႏိ
ထို႕အျပင္ က်ေနာ္တို႕ဟာ.... ေဖာက္ထြင္းမႈျပဳခ်င္တဲ့ $_GET['id']ကိုအျမဲလိုလိုစစ္ေဆး
$pos = strrpos(strtolower($_GET['id']
if ($pos === false){}else
{
die;
}
$pos = strrpos(strtolower($_GET['id']
if ($pos === false){}else
{
die;
}
$pos = strrpos(strtolower($_GET['id']
if ($pos === false){}else
{
die;
}
$result = mysql_query(‘SELECT text FROM pages WHERE id=’ . $_GET['id']);
echo($result);
?>
ေယာင္အဲလင္း
(ဟက္ကင္းနည္းပညာ)
|
