# Усунення ін'єкції SQL...

<datetime class="hidden">2006-09-08T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
## 

Усунення ін'єкції SQL...

в суботу 10 липня 2004 року.

Читати на [Блог Стефана Демеца](http://dotnetjunkies.com/WebLog/stefandemetz/archive/2004/07/10/18763.aspx) про a [Пересування підніжком до лобіату Microsoft](http://dotnetjunkies.com/WebLog/stefandemetz/archive/2004/07/10/18763.aspx) щоб змінити спосіб передавання текстових скриньок даних. [Дивись сюди.](http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=25d26b9a-11b4-49fe-be42-ca38ad0d1256) але я вважаю це просто жахливою ідеєю і це дуже нагадує жахливе [ЗапитValidation](http://www.asp.net/faq/RequestValidation.aspx)нісенітниця, введена у. NET 1. 1. Я надаю перевагу простому методу шифрування і перевірки введених запитів, зокрема [показано тут](http://www.dotnetjunkies.com/HowTo/99201486-ACFD-4607-A0CC-99E75836DC72.dcik) (не беручи до уваги той факт, що він використовував 3DES - НЕ робити цього! 3DES набагато повільніше і не настільки безпечно, як AES). Отже, що може бути проблемою зі зміною типової поведінки інструментів вводу? Прості, три речі:

1. Якщо це станеться, ймовірно, буде реалізовано такий спосіб, що призведе до розриву програм, що перемикаються (це також сталося з 1, 1, 1, і, як наслідок, у програмі все ще є декілька програм, що працюють у межах 1, 0).
2. Якщо б це було зроблено, то потрібно, щоб програма була повністю куленепробивною, інакше кожна програма покладалася б на один механізм безпеки, який зовсім не є доброю ідеєю!
3. Зречення відповідальності розробниками, якщо це було зроблено так, щоб його можна було явно увімкнути або на веб.config, або на рівні сторінки, я був би набагато щасливішим.

О, і Microsoft, якщо ви зробите це, не робіть цього, як View State, де ви жорсткий код 3DES шифрування, ні заміна вашої реалізації, принаймні зробіть його провайдером!