Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций / 25 сообщений из 155, страница 1 из 7
19.06.2012, 18:04
    #37845013
glaznoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Здравствуйте

Подскажите пожалуйста - как правильно создаются фильтры против скриптов и SQL иньекций?
Почитал, если использовать через ADO.NET параметрические запросы - то инъекция точно не полусится, это так?
...
Рейтинг: 0 / 0
19.06.2012, 18:43
    #37845089
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
glaznoy
Почитал, если использовать через ADO.NET параметрические запросы - то инъекция точно не полусится, это так?

Здаров, угу.
...
Рейтинг: 0 / 0
19.06.2012, 18:46
    #37845094
brainproof
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
против яваскриптов это называется xss ..юзай UrlDecode/Encode или библу AntiXSS
по Sql да - параметрами защищаеш
...
Рейтинг: 0 / 0
19.06.2012, 19:27
    #37845161
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
glaznoyПочитал, если использовать через ADO.NET параметрические запросы - то инъекция точно не полусится, это так?
Да, при условии что внутри SQL кода значение параметра не используется для формирования динамеского SQL-я. Например так:
Код: sql
1.
2.
3.
4.
CREATE PROC DontDoLikeThat
	@s nvarchar(1000)
AS
EXEC sp_executesql @s


Несмотря на использование параметров данная процедура уязвима к SQL Injection атакам.
...
Рейтинг: 0 / 0
19.06.2012, 19:33
    #37845172
glaznoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
То есть, если в каждом запросе испольщовать что то типа такого, то "иньекции не пройдут"?

Код: c#
1.
2.
3.
4.
5.
6.
SqlConnection conn = new SqlConnection(_connectionString);
conn.Open();
string s = "SELECT id, name FROM members WHERE name = @name";
SqlCommand cmd = new SqlCommand(s);
cmd.Parameters.Add("@name", name);
SqlDataReader reader = cmd.ExecuteReader();
...
Рейтинг: 0 / 0
19.06.2012, 20:11
    #37845198
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
glaznoy, немного оффтопа - используй AddWithValue
а по сабжу - да, так не пройдут. ты профайлером/аналайзером посмотри как этот запрос выполняется
...
Рейтинг: 0 / 0
19.06.2012, 20:20
    #37845203
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Автор, кури ORM и забудь про все проблемы.
...
Рейтинг: 0 / 0
19.06.2012, 20:25
    #37845209
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
glaznoyЗдравствуйте

Подскажите пожалуйста - как правильно создаются фильтры против скриптов и SQL иньекций?
Почитал, если использовать через ADO.NET параметрические запросы - то инъекция точно не полусится, это так?
Просто надо использовать х-ые процедуры или функции (всегда и везде), ну и передавать им параметры.
...
Рейтинг: 0 / 0
19.06.2012, 20:26
    #37845212
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
МСУАвтор, кури ORM и забудь про все проблемы.
Здесь кто-то про ОРМ спрашивал? Сам кури.
...
Рейтинг: 0 / 0
19.06.2012, 20:34
    #37845219
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
ShSergeМСУАвтор, кури ORM и забудь про все проблемы.
Здесь кто-то про ОРМ спрашивал? Сам кури.
Если не видишь прямой зависимости орм и сиквел инъекций - в сад, доучиваться. Там детишки расскажут и покажут.
...
Рейтинг: 0 / 0
19.06.2012, 20:34
    #37845220
Random_Goodman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Есть встроенные в платформу, MSDN на повод sql-injectuins
...
Рейтинг: 0 / 0
19.06.2012, 20:36
    #37845221
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
МСУ,

Однако, я ответил на вопрос, а ты - нет.
...
Рейтинг: 0 / 0
19.06.2012, 20:40
    #37845227
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
ShSergeМСУ,

Однако, я ответил на вопрос, а ты - нет.
Твой ответ убог, как и твои знания по орм. При использовании орм инъекция невозможна.
Советы плодить хранимые процедуры на каждый чих, забивая гвоздь в расширяемость и поддержку, оставь первокурсникам.
...
Рейтинг: 0 / 0
19.06.2012, 20:56
    #37845244
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
МСУАвтор, кури ORM и забудь про все проблемы.
Из огня да в полымя прям засылаете
А вообще - да, конечно проще положиться на орээмы на первых парах
...
Рейтинг: 0 / 0
19.06.2012, 21:00
    #37845246
Random_Goodman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
glaznoyТо есть, если в каждом запросе испольщовать что то типа такого, то "иньекции не пройдут"?

Код: c#
1.
2.
3.
4.
5.
6.
SqlConnection conn = new SqlConnection(_connectionString);
conn.Open();
string s = "SELECT id, name FROM members WHERE name = @name";
SqlCommand cmd = new SqlCommand(s);
cmd.Parameters.Add("@name", name);
SqlDataReader reader = cmd.ExecuteReader();


В данном запросе - нет.
...
Рейтинг: 0 / 0
19.06.2012, 21:02
    #37845250
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
SanSYSпроще положиться на орээмы на первых парах
SanSYS, на них нужно ложиться всегда. Первый пар - это как-раз ковыряние в датасетах с унылым SqlCommand.
...
Рейтинг: 0 / 0
19.06.2012, 21:06
    #37845252
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
SanSYSМСУАвтор, кури ORM и забудь про все проблемы.
Из огня да в полымя прям засылаете
А вообще - да, конечно проще положиться на орээмы на первых парах

как раз таки на первых порах говнокодят подобных монстров из стартпоста
...
Рейтинг: 0 / 0
19.06.2012, 21:17
    #37845258
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Уже как 2 недели доступен Microsoft Entity Framework 5 , прогресс не стоит на месте. А Серж до сих пор в датасетах с SqlCommand ковыряется, вызывая хранимые процедуры на каждый пук
...
Рейтинг: 0 / 0
19.06.2012, 21:29
    #37845268
Создание фильтра иньекций
МСУУже как 2 недели доступен Microsoft Entity Framework 5 , прогресс не стоит на месте. А Серж до сих пор в датасетах с SqlCommand ковыряется, вызывая хранимые процедуры на каждый пук

Они каждый месяц EF релизят, никак допилить не могут.
Так что, да, пока будем "ковыряться в датасетах"
...
Рейтинг: 0 / 0
19.06.2012, 21:35
    #37845271
Database.DbDatabase
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
System.Data.Entity. Database.DbDatabase

улыбнуло :)
...
Рейтинг: 0 / 0
19.06.2012, 21:46
    #37845281
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Уже как 2 неделиОни каждый месяц EF релизят, никак допилить не могут.
Так это CTP, пусть релизят. Я ж тебе не говорю использовать это, просто читай, ознакамливайся с новыми фичами.

Уже как 2 неделиТак что, да, пока будем "ковыряться в датасетах"
Ковыряйся. А я буду EF 4.0 / NHibernate / L2S юзать, как все нормальные люди.
...
Рейтинг: 0 / 0
19.06.2012, 21:59
    #37845289
Создание фильтра иньекций
МСУКовыряйся. А я буду EF 4.0 / NHibernate / L2S юзать, как все нормальные люди.

На счет L2S я не спорю, хорошая фича. L2Xml вообще, выше всяких похвал.
А вот EF, уж простите, унылое говно.
...
Рейтинг: 0 / 0
19.06.2012, 22:05
    #37845292
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
Оно унылым было до четверки. Сейчас это вещь.
...
Рейтинг: 0 / 0
19.06.2012, 22:41
    #37845308
SanSYS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
МСУОно унылым было до четверки. Сейчас это вещь.
+1, хоть я его активно и не использую, но за новостями слежу
К примеру в пятерке добавили кеширование запросов (именно запросов), если по каждому пуку не писать новый запросик, то достаточно удобная и на самом деле нужная фича

просто читай, ознакамливайсяНа счет L2S я не спорю, хорошая фича. L2Xml вообще, выше всяких похвал.
А вот EF, уж простите, унылое говно.
1. LinqToSql это не фича, это ORM
2. LinqToXml - своего рода тоже orm
3. Обсуждать EF vs Linq2Sql в той или иной степени уже не кошерно

Вот LINQ, экспрешены и рефлексия - эта фичи, это действительно мегафичи, помогающие как быстро разработать качественное приложение, так и быстро сделать из него полное говно
Все остальное (L2S, EF, NHibernate и пр.) - есть велосипеды, которые желательно не изобретать, а если приходится изобретать, то лучше знать как работают аналоги, даже если считаешь что аналоги есть УГ
...
Рейтинг: 0 / 0
19.06.2012, 22:45
    #37845312
Starlex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание фильтра иньекций
просто читай, ознакамливайся
На счет L2S я не спорю, хорошая фича.

L2S появилось в 3.5 FW, а в 4-м майкрософт уже рекомендовали отходить от него и переходить на EF. Что это за технология такая, которая не выдержала даже одной версии фреймворка?! :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций / 25 сообщений из 155, страница 1 из 7
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]