Istifadəçi |
2013-04-02 17:36 GMT |
|
|
|
Pr0grammer |
|
Mesaj Sayı : 1677 |
Mövzu Sayı : |
Rep Ver : |
Rep Sayı : 62 |
Indi Saytda : |
Cinsiyyət : Oğlan |
|
Şəhər : KARABAKH IS AZERBAIJAN! |
Ölkə : |
Məslək : |
Yaş : |
Mesaj : |
|
@StealtH
Ümumi götürdükdə PHP engine həmişə çalışır data type-ları özü avtomatik lazımlı (məsləhət bildiyi) data type-lara cast eləsin və müəyyən əməliyyatlar aparsın.
Amma buna güvənmək düzgün deyil.Ümumiyyətlə proqramıın necə işlədiyini bilən adam özü artıq bilir harada nə olacaq hansı data type çıxmalıdır və onun üzərində hansı əməliyyat aparılmalıdır.
Stringdirsə stringlə deal etməliyik.integerdirsə integerlə,array-dırsa arraylə,resource-dirsə resource-ilə,bool-dırsa booleanla və s.
Adi bir misal göstərim Fikir ver kiçik bir type castingdin olmaması nələrə gətirib çıxarır:
Kod: <?php
if(isset($_GET['a']) && !empty($_GET['a']))
{
$val=$_GET['a'];
echo 'Daxil etmisen: => ' .$val . PHP_EOL;
}
exit;
?>
Biri də var:
Kod: <?php
if(isset($_GET['a']) && !empty($_GET['a']))
{
$val=(int)$_GET['a'];
echo 'Daxil etmisen: => ' .$val . PHP_EOL;
}
exit;
?>
1ci misalda Kiçik bir castingin olmaması nəticəsi XSS.
2-ci misalda integerə cast etməyimiz və safedir artıq.
Ümumiyyətlə sual çox geniş mövzudur.Ümumi götürdükdə çalışmaq lazımdır castingi özümüz edək.Niyə də yox?Əgər alqoritmi biliriksə nə var nə yox proqram necə işləməlidir /necə əməliyyatlar aparmalıdır adi casting də etməyimiz yerinə düşər və çox problemdən bizi uzaq tutar.
|
Anti-armenia.ORG |
|
Istifadəçi |
2013-04-02 17:45 GMT |
|
|
|
Security |
|
Mesaj Sayı : 839 |
Mövzu Sayı : |
Rep Ver : |
Rep Sayı : 25 |
Indi Saytda : |
Cinsiyyət : Oğlan |
|
Şəhər : Sumqayıt |
Ölkə : |
Məslək : Pan - Turkism |
Yaş : 34 |
Mesaj : |
|
Sitat #24902 BlackMinD :
@StealtH
Ümumi götürdükdə PHP engine həmişə çalışır data type-ları özü avtomatik lazımlı (məsləhət bildiyi) data type-lara cast eləsin və müəyyən əməliyyatlar aparsın.
Amma buna güvənmək düzgün deyil.Ümumiyyətlə proqramıın necə işlədiyini bilən adam özü artıq bilir harada nə olacaq hansı data type çıxmalıdır və onun üzərində hansı əməliyyat aparılmalıdır.
Stringdirsə stringlə deal etməliyik.integerdirsə integerlə,array-dırsa arraylə,resource-dirsə resource-ilə,bool-dırsa booleanla və s.
Adi bir misal göstərim Fikir ver kiçik bir type castingdin olmaması nələrə gətirib çıxarır:
Kod: <?php
if(isset($_GET['a']) && !empty($_GET['a']))
{
$val=$_GET['a'];
echo 'Daxil etmisen: => ' .$val . PHP_EOL;
}
exit;
?>
Biri də var:
Kod: <?php
if(isset($_GET['a']) && !empty($_GET['a']))
{
$val=(int)$_GET['a'];
echo 'Daxil etmisen: => ' .$val . PHP_EOL;
}
exit;
?>
1ci misalda Kiçik bir castingin olmaması nəticəsi XSS.
2-ci misalda integerə cast etməyimiz və safedir artıq.
Ümumiyyətlə sual çox geniş mövzudur.Ümumi götürdükdə çalışmaq lazımdır castingi özümüz edək.Niyə də yox?Əgər alqoritmi biliriksə nə var nə yox proqram necə işləməlidir /necə əməliyyatlar aparmalıdır adi casting də etməyimiz yerinə düşər və çox problemdən bizi uzaq tutar.
minnətdaram bro infoya görə
Bura Ergenekon, təpədən-dırnağa Türkəm!
|
Anti-armenia.ORG |
|