SQL-инъекции в ADOdb и общая безопасность веб-сайта

Я довольно много читал и до сих пор не понимаю на 100%, как происходят некоторые SQL-инъекции!

Я хотел бы увидеть от тех, кто знает, конкретные примеры внедрения SQL на моем примере, чтобы его можно было воспроизвести, протестировать и исправить. Я пытался SQL ввести свой код и не смог, поэтому я хотел бы, чтобы кто-нибудь доказал мне обратное!

1. Правильно ли я понимаю, что SQL-инъекция может происходить ТОЛЬКО с помощью методов POST или GET, а это означает, что на веб-сайте это должна быть почтовая форма, например. «зарегистрироваться или выполнить поиск» или запрос типа «search.php?tags=love»?

Сказать, что это возможно, чтобы ввести следующий код, который имеет метод POST?

$name     = trim($_POST['username']);
$mail     = trim($_POST['email']);
$password = trim($_POST['password ']);

   if ($errors == "false") {
    $sql = 
        "INSERT INTO 
           clients 
         SET 
           name='". mysql_real_escape_string($name). "',
           mail='". mysql_real_escape_string($mail). "', 
           password='". mysql_real_escape_string(sha1($password)). "'";
           $connection->execute($sql);

    }

2. У другого есть метод GET:rate.php?like&videoID=250&userID=30

$sql = 
    "SELECT 
        videoID 
     FROM 
        likes 
     WHERE 
        videoID = '".mysql_real_escape_string($videoID). "' AND UID = '".mysql_real_escape_string($userID). "' LIMIT 1";
        $connection->execute($sql);

Пожалуйста, помогите тем, кто не стесняется в теме, но использует конкретные примеры.

Заранее спасибо,
Илья

10
задан Ilia Rostovtsev 29 October 2013 в 19:07
поделиться