Форум программистов, компьютерный форум, киберфорум
Наши страницы
Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
krom
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
1

Авторизация при подключении к MS SQL 7.0

22.11.2006, 03:38. Просмотров 1126. Ответов 8
Метки нет (Все метки)

Господа, а можно задать глупый вопрос???

Т.е. вопрос не про конкретную реализацию, а вообще про логику и предпочтительные решения. Задача вот в чем: есть SQL сервер (MSSQL7.0), есть IIS4.0, есть веб-узел... все это физически находится на одной машине. Каким образом лучше (с точки зрения безопасности) организовать авторизацию при подключении к SQL серверу внешних пользователей?? Насколько безопасно указывать в ASP-коде логин и пароль к базе данных на сервере??? (список пользователей все же хочется хранить в своей же таблице и самому же -- в коде -- его проверять)... подскажите какие есть решения...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2006, 03:38
Ответы с готовыми решениями:

Error 26 при подключении к SQL Серверу
Доброго времени суток. Из приложения вин форм MS VS 2013 пытаюсь подключиться к...

Ошибки при подключении к MS SQL Server 2008
Был написан проект для SCADA Citect. В отдельном потоке выполняется в цикле...

Ошибка при подключении к SQL SERVER 2008
Кто нибудь сталкивался с подобной проблемой? При попытке добавления...

Использование триггеров из бд в ms sql при подключении этой бд к C#
Добрый вечер, форумчане. Есть такая проблема: в ms sql написала триггер для...

При подключении к SQL Server выдает ошибку подключения
Раньше заходил в диспетчер и запускал там сейчас выдает ошибку

8
alexander
22.11.2006, 03:52 2
Случайно вот это не подойдет

http://unreal.aic.ru/vbs/articles/authentification.html
krom
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
22.11.2006, 14:31  [ТС] 3
Спасибо, но это совершенно нет то, что нужно... Для того, чтобы проделать все эти не хитрые манипуляции по-моему совсем нет смысла создавать отдельный компонент... все это можно сделать и в внутри asp-кода...

хочется понять саму идею, тут наверное вопрос больше не про asp, а про работу с базами данных. Может быть сформулировать вопрос так -- если я создаю DSN к SQL серверу, который определяю, как (local), то соответственно от чье-го имени будет происходить работа с базами в SQL-сервере?? И главное, каким образом обезопасить себя от 'образованных' пользователей, которые захотят подключиться к SQL извне... короче, нужен способ подключения к серверу только локально...
0
stirlic
0 / 0 / 0
Регистрация: 21.11.2006
Сообщений: 10
22.11.2006, 23:37 4
А в чем собственно проблема?
Создай новый login на SQL, дай ему _только_ необходимые права. И все, можешь указывать его в ASP.
Что может сделать человек, который узнает логин-пароль на странице? Только то, что ты разрешишь видеть этому логину.

Поправьте меня если я ошибаюсь.
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
22.11.2006, 23:48 5
Например, если устраивает простая авторизация ASP-страницы, то обычно делают так: в логин-форме при указании правильного пароля создают переменную, например, Session('Secure') = 'YES', а во всех страницах, в которых нужна авторизация вставляется следующий код

<%
If Session('Secure') = '' Then
Response.redirect 'login.asp'
End If
%>

которая в случае, если пароль был не введен или сессия закончилась (timeout) сделает редирект к форме ввода пароля.
0
krom
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
23.11.2006, 05:57  [ТС] 6
Упс... опять я не понят... в чем же дело... )

Все о чем вы говорите -- вторично.. меня интересует: каким образом мне безопаснее авторизовать подключения к sql-серверу из asp-кода? т.е. создавать для каждого пользователя логин и в самом sql -- откровенно лень -- это, судя по всему, не правильно... но, если же я открыто напишу в коде 'DSN=Web;UID=user;PWD=pass;' т.е. сделаю общий логин для всех пользователей не зависимо от их прав, которые хочется определять в 'своей' базе пользователей -- будет ли это правильно??? не сможет ли кто-то 'со стороны', т.е. не с локально, подключиться к SQL серверу?? судя по всему - да... т.е. пароль и логин он не должен узнать ни в коем случае, при этом есть ли какая-то возможность получить оригинальный код (не пройденный интерпретатором vbscript''а) средствами http???

вообще, из собственных попыток разобраться всплыло понятие 'trusted connection', дык вот когда на машине под WinNT создается DSN, сервер которого указывается как (local), используется так называемое 'trusted connection'... При этом понятно, когда tc используется для пользователя сети (идет обычная авторизация nt - так??), а если это происходит локально, так сказать с консоли... какой логин при этом авторизует соединение??? гуру, чего молчите, подскажите все-таки, как это работает или должно работать???
0
stirlic
0 / 0 / 0
Регистрация: 21.11.2006
Сообщений: 10
23.11.2006, 11:38 7
Это не ответ на твой основной вопрос.
Но я тебя понял. (не прошло и полгода

Про 'какой подставляется логин, когда через DSN и локально'

Запусти SQL Profiler и посмотри какой логин подключается в момент загрузки страницы.

Тут не важно, локально или нет.
Я думаю, что это пользователь который в данный момент локально авторизован на сервере(в смысле админ). Если ты конечно не указал (при настройке DSN) логин SQL.
0
DDA
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 29
19.12.2006, 04:28 8
Не знаю поможет это или нет..
Все зависит от выбранной политики безопасности на IIS и SQL. Если на SQL стоит стандартная модель безопасности то логин юзера надо указывать явно(в DSN например), если интегрированная то SQL будет определять пользователя на основе его NT-учетной записи. Под чьей учетной записью будет работать IIS зависит от его модели безопасности: при позволенных анонимных юзерах IIS работает под специальным эккаунтом, при 'Basic security' IE запрашивает у юзера доменный пароль и передает его по сети в открытом виде, при интегрированной модели IIS определяет юзера по политике NT без передачи по сети пароля (по моему работает только в локальном домене NT). При смешанной политике безопасности SQL работают оба способа.
Кстати проверялось это только на SQL server 6.5 и IIS 4.0.
0
umelets
0 / 0 / 0
Регистрация: 05.10.2007
Сообщений: 5
05.10.2007, 17:42 9
Суть твоего вопроса мне ясна.
Так как для SQL Server абсолютно всеравно откуда пришел трафик, то подключиться к нему может как локальный так и удаленный пользователь на основании правил (смотри преддыдущее сообщение).
Если ты не хочеш что-бы это было возможно, ты должен 1)выключить в Server Network Utility все протоколы, которые ты не используеш, оставив к примеру TCP/IP и поменяв ему на всякий случай адрес порта; 2)закрыть заданный тобой порт на firewall (если такого не имеет, то установить software firewall)
Потенциально, любой кто получит sa, сможет сделать с твоей системой практически все (неговоря про базу).
0
05.10.2007, 17:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2007, 17:42

Ошибка при подключении php(5.5.38) к Microsoft SQL Server 2014
Помогите пожалуйста, мучаюсь уже неделю. Не получается подключить php(5.5.38) к...

Авторизация в SQL 2012 EXPRESS
Всем привет. Есть w2008 и Ms SQL 2012 EXPRESS. Есть сторонее приложение,...

Нужна помошь в подключении SQL Server 2008 и Visual Studio 2008
Добрый день уважаемые форумчане... Мне нужна ВАША помощь... Я искал в инете...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru