powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC5. Живой поиск. Защита.
25 сообщений из 50, страница 1 из 2
MVC5. Живой поиск. Защита.
    #38843459
elkapitano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На странице имеется живой поиск, он обращается к web api сервису, как можно ограничить сервис, чтоб он был недоступен по прямому адресу.
Какую защиту можно сделать, чтобы предотвратить получению злоумышленником всей информации используя сервис

Например:
Есть товары на складе от А до Я.
При заходе на страницу пользователь вводит в текстовое поле букву "А" и ему выдаётся товары начиная с буквы "А"
Но если пользователь захочет получить список товара используя прямую ссылку например - www.testsite.com/mytestservice?getData="a", у него бы нечего не получилось
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38843498
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никак
любые действия, которые может делать пользователь, может делать и злоумышленнник (ибо пользователь может являться злоумышленником)

авторизация, бан, если сервер засекает сканирование по каким-то типичным признакам, меры административного воздействия на пользователя.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38843544
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сервис вызывается на стороне сервера приложения? Тогда как злоумышленник может узнать его адрес? Разве, что взломав сервер сам сервер приложений.
2. Использовать безопасность на уровне сервиса. В приложении в конфиге будут учетные данные сервиса. А вот просто руками вызвать сервис не получится без авторизации.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38843560
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elkapitanoНа странице имеется живой поиск, он обращается к web api сервису, как можно ограничить сервис, чтоб он был недоступен по прямому адресу.
Какую защиту можно сделать, чтобы предотвратить получению злоумышленником всей информации используя сервисОтделить поиск от "всей информации".
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38843876
elkapitano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы.

МСУ2. Использовать безопасность на уровне сервиса. В приложении в конфиге будут учетные данные сервиса. А вот просто руками вызвать сервис не получится без авторизации.
Можно тут поподробнее?
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38843944
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elkapitanoМожно тут поподробнее?
http://codearticles.ru/articles/2527
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38844063
elkapitano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Непонятно где выполнять этот код :
Код: c#
1.
2.
3.
var api = new Api(new Uri("http://localhost:44199/odata"));
api.Credentials = new NetworkCredential("test", "test");
var categories = new DataServiceCollection<Category>(api);


И что это за класс "Api"
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38844103
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elkapitano, это кодогенерированный класс odata сервиса. Идея такая же, указать NetworkCredential для вызова твоего сервиса. В чем проблема-то?
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38844117
elkapitano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

Сервис вызывается ajax запросом со страницы, и как тогда применить этот код?
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38844140
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elkapitanoСервис вызывается ajax запросом со страницы, и как тогда применить этот код?
Я вот тут 17055366 задал вопрос про вызов сервиса, ты его проигнорировал. Теперь мы узнаем, что сервис вызывается на стороне клиента. Плохая новость, плохая архитектура. Таким образом задача 100% не решается, ведь ты открываешь всем адрес сервиса. Чтобы задачу решить, нужен вызов сервиса на серверной стороне. Поэтому твой аякс запрос должен сначала пойти в твой метод контроллера, а уже из него должен вызываться сервис.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38844184
elkapitano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

авторЧтобы задачу решить, нужен вызов сервиса на серверной стороне. Поэтому твой аякс запрос должен сначала пойти в твой метод контроллера, а уже из него должен вызываться сервис.
Большое спасибо, так и сделаю.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38845694
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elkapitano,

Все достаточно стандартно.
1) Используйте Post вместо Get запроса.
2) Используйте защищенный канал https вместо http, желательно подписанный Thawte или Verisign.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846339
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronelkapitano,

Все достаточно стандартно.
1) Используйте Post вместо Get запроса.
2) Используйте защищенный канал https вместо http, желательно подписанный Thawte или Verisign.И что это даст?

Стандартная практика - это сайт разместить в DMZ, а сервис в другом месте локальной сети.
Таким образом сайт будет доступен извне, сервис будет доступен сайту, но извне сервис будет не доступен.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846392
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Бузусловно сервис и сайт будут разнесены по 'коробкам'. И это даст защиту, искомую TC.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846397
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст?
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846451
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronskyANA,

Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст?На сайте есть публичный поиск товара. При чём тут POST и SSL?

Вот Вам GET over HTTP: http://www.ozon.ru/?context=search&text=MVC5
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846464
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAxeleronskyANA,

Если Вы используете https протокол, Ваш сервис будет доступен только приложению/сайту, а все сообщения шифруются на транспортном уровне механизмом, доступном для понимания только данному приложению/сайту. Почему по Вашему мнению это ничего не даст?На сайте есть публичный поиск товара. При чём тут POST и SSL?

Вот Вам GET over HTTP: http://www.ozon.ru/?context=search&text=MVC5

Вы привели пример, где как раз получается весь список товара. TCу необходимо как раз избежать этого, если я верно понял.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846467
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Публичный поиск товара не означает возможность дать весь список поиска по начальным буквам наименований товаров, что в Вашем примере как раз и происходит. Тут никакой выделенный сервер для сервиса не поможет.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846560
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще как более простой и менее затратный вариант реализации, если веб-сервер и сервис-сервер - это два разных сервера, то прост давать доступ к сервису по IP-адресу разрешенных серверов. Тут можно и GET и POST использовать - как больше нравится, так как ничего не меняет. Если же веб-сервер и сервис-сервер - это одна физическая единица, то делайте запрос к сервису через POST и передавайте в HttpHeader какой-то уникальный токен, который будет проверяться на сервисной стороне, и если он корректный, то сервис будет отдавать результат поиска. Тогда и SSL не нужен.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846735
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronПубличный поиск товара не означает возможность дать весь список поиска по начальным буквам наименований товаров, что в Вашем примере как раз и происходит. Тут никакой выделенный сервер для сервиса не поможет.Вы так и не поняли, что нужно ТС :)

Есть внутренний сервис, что умеет выдавать список товаров согласно фильтру. Плюс он ещё много чего умеет, например позволяет добавлять товары, удалять товары, менять им цены и т.п.

И есть публичный сайт, которому доступна лишь одна функция - это поиск товара.
Вот сайт размещается в DMZ, общается с сервисом, при этом извне нельзя обратиться к сервису и получить доступ к полному функционалу.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846737
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЕще как более простой и менее затратный вариант реализации, если веб-сервер и сервис-сервер - это два разных сервера, то прост давать доступ к сервису по IP-адресу разрешенных серверов.Гениально, Вы изобрели DMZ!
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846754
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда, Axeleron жжет... :)
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846759
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

А что это за DMZ такой зверь? :))
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846765
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Я понял вопрос ТСа так как я понял ) А Ваш совет "Отделить поиск от "всей информации" я бы серьзно даже не воспринял - просто слишком обще. TС захотел поподробнее, я поподробнее и рассказал в плане реализации. Согласен, c SSL немного перебор. Для Web API лучше всего использовать уникальный токен и Post метод.
...
Рейтинг: 0 / 0
MVC5. Живой поиск. Защита.
    #38846767
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronskyANA,

Я понял вопрос ТСа так как я понял ) А Ваш совет "Отделить поиск от "всей информации" я бы серьзно даже не воспринял - просто слишком обще.Надо было спросить, что я имел в виду
AxeleronTС захотел поподробнее, я поподробнее и рассказал в плане реализации. Согласен, c SSL немного перебор. Для Web API лучше всего использовать уникальный токен и Post метод.Да не нужен ему никакой токен. Зачем внутри локальной сети какие-то токены?
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / MVC5. Живой поиск. Защита.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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