Сайт курушылар

Мен жакында вап сайт ашканмын.Сол сайттагы файлдардын бiреуiн тексергергенде SQL
Injection шыкты.Кiм бiлед калай оны жоюга болады?
Все — (7) Errors — (7) Warnings — (0)
14 — Файлов проверено
/diary/diary.php $name
18: $diary=mysql_fetch_assoc
(mysql_query(«SELECT * FROM
`diary` WHERE `name`='$name'
LIMIT 1»)); <==SQL
Injection!
/diary/diary.php $diary
43: mysql_query(«UPDATE `diary` SET
`msg`='$msg' WHERE `id`='$diary
[id]' LIMIT 1»); <==SQL
Injection!
/diary/diary.php $diary
58: mysql_query(«UPDATE `diary` SET
`tags`='$diary[tags]' WHERE
`id`='$diary[id]' LIMIT 1»); <==SQL
Injection!
/diary/diary.php $diary
84: mysql_query(«UPDATE `diary` SET
`name`='$diary[name]' WHERE
`id`='$diary[id]' LIMIT 1»); <==SQL
Injection!
/diary/diary.php $diary
92: mysql_query(«UPDATE `diary` SET
`readers`='$diary[readers]'
WHERE `id`='$diary[id]' LIMIT 1»);<== SQL
Injection!
/diary/diary.php $diary
102: mysql_query(«INSERT INTO
`diary_rating` (`id_diary`,
`id_user`, `rating`) values ('$diary
[id]', '$user[id]', '$plus')»);<== SQL
Injection!
/diary/diary.php $diary
104: mysql_query(«UPDATE `diary` SET
`rating`='$diary[rating]' WHERE
`id`='$diary[id]' LIMIT 1»);<== SQL
Injection!
Бөлісу:

3 пікір

Dostar
олар бiреу емес бiрнеше…
yerbol89
Егер сұрақ мұнда қойылса мен жауап бере алатын едім. )))

Қате get немесе post запроспен келген ақпараттарды филтірден өткізбегендіктен.
Сізге қалай сүзгілеу керек екенін өзімнің сайтымның кодынан мысал келтіре салайын.
<form name="form1" method="post" action="new_termin_add.php">
                                                                    <br />
                                                                    <td class="text_termin">
                                                                            Енгізетін терминнің санаттын таңдаңыз:
                                                                    </tr></td> 
                                                                     <tr><td>
                                                                            <select name="value" style="width:460px;"> 
                                                                            <option value=""></option>
                                                                            <option value="1">Информатика</option>
                                                                            <option value="2">Психология</option>
                                                                            <option value="3">Қаржы</option>
                                                                            <option value="4">Медицина</option>
                                                                            <option value="5">Астрономия</option>
                                                                            <option value="6">Геология</option>
                                                                            <option value="7">Филология</option>
                                                                            <option value="8">Философия</option>
                                                                            <option value="9">Экономика</option>
                                                                            <option value="10">Экология</option>
                                                                            <option value="11">Биология</option>
																			<option value="12">Химия</option>
                                                                            </select>
                                                                     </td></tr> 
                                                                     <tr>
                                                                        <td class="text_termin">
                                                                        <br />
                                                                         Орысша термин сөзіңіз.<br /> 
                                                                     </tr></td> 
                                                                     <tr><td>
                                                                         <input type="text" name="rus" id="rus" style="width:460px;">
                                                                     </tr></td>
                                                                     <tr>
                                                                        <td class="text_termin">
                                                                        <br />
                                                                         Орысша терминнің анықтамасы.
                                                                     </tr></td>
                                                                     <tr><td class="text_termin">
                                                                         <textarea name="rus_maz" id="rus_maz" rows="8"></textarea>
                                                                     </tr></td>
                                                                     <tr>
                                                                     <td class="text_termin">
                                                                     <br /><br />
                                                                         Ағылшынша термин сөзіңіз.
                                                                     </tr></td>
                                                                     <tr>
                                                                     <td class="text_termin">
                                                                         <input type="text" name="eng" id="eng" style="width:460px;">
                                                                     </tr></td>
                                                                     <tr>
                                                                        <td class="text_termin">
                                                                        <br />
                                                                        Ағылшынша терминнің анықтамасы.
                                                                     </tr></td>
                                                                     <tr><td class="text_termin">
                                                                        <textarea name="eng_maz" id="rus_maz" rows="8"></textarea>
                                                                     </tr></td>
                                                                     <tr>
                                                                        <td class="text_termin" align="right">
                                                                        <br />
                                                                              <input type="submit" name="submit" value="Жіберу">
                                                                        </form>

Ал бұл жерден келген ақпаратты біз isset арқылы сүзілеп одан соң базаға сақтаймыз.
<?php 
    include ('db.php');
    $date = date("Y-m-d");
    if (isset($_POST['value'])) {$kat_id = $_POST['value']; if ($kat_id == '') {unset ($kat_id);}}
    if (isset($_POST['rus'])) {$rus = $_POST['rus']; if ($rus == '') {unset ($rus);}}
    if (isset($_POST['rus_maz'])) {$rus_maz = $_POST['rus_maz']; if ($rus_maz == '') {unset ($rus_maz);}}
    if (isset($_POST['eng'])) {$eng = $_POST['eng']; if ($eng == '') {unset ($eng);}}
    if (isset($_POST['eng_maz'])) {$eng_maz = $_POST['eng_maz']; if ($eng_maz == '') {unset ($eng_maz);}}
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">


Егер сайтыңыздың коды функциямен жазылса, онда мына ақпаратты қарап көріңіз.
timurrr
Ауызна келгенді оттап, пікір жазатындардың бірі жоқ:)))

Мадиссс, Ербол!