mssql и sql-inj Как защитить?!

Discussion in 'PHP' started by EST a1ien, 19 May 2008.

  1. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    Наверно после прочтения заголовка у вас сложилось впечатление, что я тупой и не пользуюсь поиском. Но я скажу чесно искал НО есть одно но.
    Обрабатывать переменные которые идут в запрос функцией addslashes() не катит.
    Дело в том что даже если к MS SQL идет вот такой запрос.
    Code:
    SELECT * FROM some_table where name='test\''
    Он всеравно жалуется на незакрытую кавычку.
     
  2. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,803
    Likes Received:
    1,957
    Reputations:
    594
    почитай /thread58597.html и всё станет ясно...
     
    1 person likes this.
  3. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    Причем здесь magic_quotes_gpc.
    Ты непонял вопроса.
    Даже при Экранирование кавычки MS SQL выдает ошибку.
    Могу даже показать что он пишет.

    UPD

    Code:
    SELECT * FROM table WHERE account='test\''
    
    Msg 105, Level 15, State 1, Line 1
    Unclosed quotation mark after the character string 'test\''.
    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near 'test\''.
    
    
    Вот что сервер отвечает. и ему наплевать из PHP идет конект или напрямую через Server Manager.
     
    #3 EST a1ien, 19 May 2008
    Last edited: 19 May 2008
  4. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,803
    Likes Received:
    1,957
    Reputations:
    594
    А.. ты про MSSQL, глянь тут http://vingrad.ru/blogs/sabrog/2007/12/29/sql-injection-kak-to-vse-neodnoznachno/ тогда...
    http://gorinich.net/posts/4
     
    #4 -=lebed=-, 19 May 2008
    Last edited: 19 May 2008
    1 person likes this.
  5. EST a1ien

    EST a1ien Elder - Старейшина

    Joined:
    2 Apr 2006
    Messages:
    249
    Likes Received:
    48
    Reputations:
    16
    Спасибо большое. В жизне не подумал бы о том чтобы экранировать кавычку надо перед ней поставить еще одну.
    Просто зачет мелкомягким.