Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.12.2014, 03:06
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
На странице имеется живой поиск, он обращается к web api сервису, как можно ограничить сервис, чтоб он был недоступен по прямому адресу. Какую защиту можно сделать, чтобы предотвратить получению злоумышленником всей информации используя сервис Например: Есть товары на складе от А до Я. При заходе на страницу пользователь вводит в текстовое поле букву "А" и ему выдаётся товары начиная с буквы "А" Но если пользователь захочет получить список товара используя прямую ссылку например - www.testsite.com/mytestservice?getData="a", у него бы нечего не получилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 08:47
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
никак любые действия, которые может делать пользователь, может делать и злоумышленнник (ибо пользователь может являться злоумышленником) авторизация, бан, если сервер засекает сканирование по каким-то типичным признакам, меры административного воздействия на пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 10:06
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
1. Сервис вызывается на стороне сервера приложения? Тогда как злоумышленник может узнать его адрес? Разве, что взломав сервер сам сервер приложений. 2. Использовать безопасность на уровне сервиса. В приложении в конфиге будут учетные данные сервиса. А вот просто руками вызвать сервис не получится без авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 10:22
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
elkapitanoНа странице имеется живой поиск, он обращается к web api сервису, как можно ограничить сервис, чтоб он был недоступен по прямому адресу. Какую защиту можно сделать, чтобы предотвратить получению злоумышленником всей информации используя сервисОтделить поиск от "всей информации". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 14:53
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
Всем спасибо за ответы. МСУ2. Использовать безопасность на уровне сервиса. В приложении в конфиге будут учетные данные сервиса. А вот просто руками вызвать сервис не получится без авторизации. Можно тут поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 15:33
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
elkapitanoМожно тут поподробнее? http://codearticles.ru/articles/2527 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 17:21
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
МСУ, Непонятно где выполнять этот код : Код: c# 1. 2. 3. И что это за класс "Api" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 18:09
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
elkapitano, это кодогенерированный класс odata сервиса. Идея такая же, указать NetworkCredential для вызова твоего сервиса. В чем проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 18:25
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
МСУ, Сервис вызывается ajax запросом со страницы, и как тогда применить этот код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 18:48
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
elkapitanoСервис вызывается ajax запросом со страницы, и как тогда применить этот код? Я вот тут 17055366 задал вопрос про вызов сервиса, ты его проигнорировал. Теперь мы узнаем, что сервис вызывается на стороне клиента. Плохая новость, плохая архитектура. Таким образом задача 100% не решается, ведь ты открываешь всем адрес сервиса. Чтобы задачу решить, нужен вызов сервиса на серверной стороне. Поэтому твой аякс запрос должен сначала пойти в твой метод контроллера, а уже из него должен вызываться сервис. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.12.2014, 19:56
|
|||
|---|---|---|---|
|
|||
MVC5. Живой поиск. Защита. |
|||
|
#18+
МСУ, авторЧтобы задачу решить, нужен вызов сервиса на серверной стороне. Поэтому твой аякс запрос должен сначала пойти в твой метод контроллера, а уже из него должен вызываться сервис. Большое спасибо, так и сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2014, 15:03
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
elkapitano, Все достаточно стандартно. 1) Используйте Post вместо Get запроса. 2) Используйте защищенный канал https вместо http, желательно подписанный Thawte или Verisign. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 11:14
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
Axeleronelkapitano, Все достаточно стандартно. 1) Используйте Post вместо Get запроса. 2) Используйте защищенный канал https вместо http, желательно подписанный Thawte или Verisign.И что это даст? Стандартная практика - это сайт разместить в DMZ, а сервис в другом месте локальной сети. Таким образом сайт будет доступен извне, сервис будет доступен сайту, но извне сервис будет не доступен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 12:18
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
skyANA, Бузусловно сервис и сайт будут разнесены по 'коробкам'. И это даст защиту, искомую TC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 12:23
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
skyANA, Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 12:56
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
AxeleronskyANA, Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст?На сайте есть публичный поиск товара. При чём тут POST и SSL? Вот Вам GET over HTTP: http://www.ozon.ru/?context=search&text=MVC5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 13:03
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
skyANAAxeleronskyANA, Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст?На сайте есть публичный поиск товара. При чём тут POST и SSL? Вот Вам GET over HTTP: http://www.ozon.ru/?context=search&text=MVC5 Вы привели пример, где как раз получается весь список товара. TCу необходимо как раз избежать этого, если я верно понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 13:05
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
Публичный поиск товара не означает возможность дать весь список поиска по начальным буквам наименований товаров, что в Вашем примере как раз и происходит. Тут никакой выделенный сервер для сервиса не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 14:08
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
Еще как более простой и менее затратный вариант реализации, если веб-сервер и сервис-сервер - это два разных сервера, то прост давать доступ к сервису по IP-адресу разрешенных серверов. Тут можно и GET и POST использовать - как больше нравится, так как ничего не меняет. Если же веб-сервер и сервис-сервер - это одна физическая единица, то делайте запрос к сервису через POST и передавайте в HttpHeader какой-то уникальный токен, который будет проверяться на сервисной стороне, и если он корректный, то сервис будет отдавать результат поиска. Тогда и SSL не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 16:49
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
AxeleronПубличный поиск товара не означает возможность дать весь список поиска по начальным буквам наименований товаров, что в Вашем примере как раз и происходит. Тут никакой выделенный сервер для сервиса не поможет.Вы так и не поняли, что нужно ТС :) Есть внутренний сервис, что умеет выдавать список товаров согласно фильтру. Плюс он ещё много чего умеет, например позволяет добавлять товары, удалять товары, менять им цены и т.п. И есть публичный сайт, которому доступна лишь одна функция - это поиск товара. Вот сайт размещается в DMZ, общается с сервисом, при этом извне нельзя обратиться к сервису и получить доступ к полному функционалу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 16:50
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
AxeleronЕще как более простой и менее затратный вариант реализации, если веб-сервер и сервис-сервер - это два разных сервера, то прост давать доступ к сервису по IP-адресу разрешенных серверов.Гениально, Вы изобрели DMZ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 17:03
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
Мда, Axeleron жжет... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 17:07
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
МСУ, А что это за DMZ такой зверь? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 17:15
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
skyANA, Я понял вопрос ТСа так как я понял ) А Ваш совет "Отделить поиск от "всей информации" я бы серьзно даже не воспринял - просто слишком обще. TС захотел поподробнее, я поподробнее и рассказал в плане реализации. Согласен, c SSL немного перебор. Для Web API лучше всего использовать уникальный токен и Post метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.12.2014, 17:21
|
|||
|---|---|---|---|
MVC5. Живой поиск. Защита. |
|||
|
#18+
AxeleronskyANA, Я понял вопрос ТСа так как я понял ) А Ваш совет "Отделить поиск от "всей информации" я бы серьзно даже не воспринял - просто слишком обще.Надо было спросить, что я имел в виду AxeleronTС захотел поподробнее, я поподробнее и рассказал в плане реализации. Согласен, c SSL немного перебор. Для Web API лучше всего использовать уникальный токен и Post метод.Да не нужен ему никакой токен. Зачем внутри локальной сети какие-то токены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&tablet=1&tid=1356774]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 427ms |

| 0 / 0 |
