|
|
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Есть внутренний сайт с вводом логина-пароля в форме на главной странице. Есть программа на C++ Builder. Нужно ряду пользователей показывать этот сайт, но так, чтобы они не знали своего логина-пароля на сайте. Прога, естественно, логин-пароль знает. Возникает вопрос - как бы открыть в браузере нужную страницу на сайте так, чтобы пользователь был уже авторизован? Желательно, чтобы метод работал для любого браузера. Но если заработает хотя бы с одним - уже хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 13:25 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoft, сайт какой? Самописный? Тогда пускай учится отдавать и принимать session token'ы хотя бы через урл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 13:42 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Сайт на CMS, но самописный. В том смысле, что не заказной. Через URL - нельзя, т.к. тогда этот URL можно будет скопировать на сторону, и тогда кто-то на стороне получит доступ к сайту, а это недопустимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 13:45 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Возможно, программа заходит на сайт, потом экспортирует cookies в браузер и запускает его. Только сайт должен использовать SSL, иначе пользователь сможет перехватить логин и пароль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:01 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoft , как сам сайт проверяет, при обращении к произвольной странице, авторизован пользователь или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:04 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
spudeiВозможно, программа заходит на сайт, потом экспортирует cookies в браузер и запускает его.Как технически выполнить "программа заходит на сайт" так, чтобы еще куки образовались? И как в таком случае сделать, чтобы куки протухли сразу же, как будет закрыт браузер? spudeiТолько сайт должен использовать SSL, иначе пользователь сможет перехватить логин и пароль.Это необязательно, у нас пользователи не настолько продвинутые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:05 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
krvsa miksoft , как сам сайт проверяет, при обращении к произвольной странице, авторизован пользователь или нет?Если честно - не знаю. Подозреваю, что через PHPSESSID в куках. Но при переходе с одной страницы на другу PHPSESSID меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:12 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoftКак технически выполнить "программа заходит на сайт" так, чтобы еще куки образовались? Получает страничку с формой для логина, получает cookie. Заполняет форму, отравляет на сервер вместе с cookies. Получает ответ и cookies, если вход успешный экспортирует cookies. miksoftИ как в таком случае сделать, чтобы куки протухли сразу же, как будет закрыт браузер? Думаю, через период устаревания пользовательской сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:25 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Как вариант - есть инструменты управления браузерами (типа selenium/watir). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:33 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoftСайт на CMS, но самописный. В том смысле, что не заказной. Через URL - нельзя, т.к. тогда этот URL можно будет скопировать на сторону, и тогда кто-то на стороне получит доступ к сайту, а это недопустимо. Sancta simplicitas. 1) Получив данный урл сервер может послать куку которая обычно посылается при логине/пароле => урл действителен один раз. 2) т.к. "тогда эту куку можно будет скопировать на сторону, и тогда кто-то на стороне получит доступ к сайту, а это недопустимо.", то технически разницы вообще ноль. Просто с урлом копировать легче. 3) Привязка IP, нэ? ты что, вообще думать не пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:45 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
ГостьГостьГость1) Получив данный урл сервер может послать куку которая обычно посылается при логине/пароле => урл действителен один раз.За идею про одноразовый URL спасибо, посмотрю, что сайт сможет в этом направлении. ГостьГостьГость2) т.к. "тогда эту куку можно будет скопировать на сторону, и тогда кто-то на стороне получит доступ к сайту, а это недопустимо.", то технически разницы вообще ноль. Просто с урлом копировать легче.Копирование куки - это уже достаточно сложная операция. Да не пройдет это, насколько я знаю.ГостьГостьГость3) Привязка IP, нэ?Это само собой разумеется. Но понятие "на сторону" включает и тех сотрудников нашей же организации, которым видеть этот сайт по должности не положено. ГостьГостьГостьты что, вообще думать не пробовал?Пробовал. К сожалению, мои познания во всяких куках, PHP-сесиях и т.п. не позволяют думать сразу в правильном направлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 14:57 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoftЕсли честно - не знаю. Подозреваю, что через PHPSESSID в куках. Ясно... А как вообще организован процесс авторизации? Сайт работает с БД в которой и хранятся логины+пароли? miksoftЕсть программа на C++ Builder. Она имеет доступ к той БД? Может там чего-то менять? Как такая идейка: - Программка (зная логин+пароль) в некой временной БД генерит запись, де "вот этому можно" - Даёт команду браузеру открыть страницу, указав ИД (или некий идентификатор) той записи - Страница должна уметь обрабатывать урл с этим ИД - Если ИД указан - читать из временной таблицы логин+пароль, выполнять регистрацию, после чего отрисовываться - Удалять ту запись из временной таблички ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 15:02 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
krvsamiksoftЕсли честно - не знаю. Подозреваю, что через PHPSESSID в куках.Ясно... А как вообще организован процесс авторизации? Сайт работает с БД в которой и хранятся логины+пароли?Пароли в открытом виде там, конечно, не хранятся. Пользователи заводятся руками через админку CMS. krvsamiksoftЕсть программа на C++ Builder.Она имеет доступ к той БД? Может там чего-то менять?Нет, к БД сайта программа доступа не имеет. И строить этот доступ бессмысленно, т.к. при очередном апдейте CMS там (в БД) может что-то поменяться. krvsaКак такая идейка: - Программка (зная логин+пароль) в некой временной БД генерит запись, де "вот этому можно" - Даёт команду браузеру открыть страницу, указав ИД (или некий идентификатор) той записи - Страница должна уметь обрабатывать урл с этим ИД - Если ИД указан - читать из временной таблицы логин+пароль, выполнять регистрацию, после чего отрисовываться - Удалять ту запись из временной табличкиЗа идейку спасибо, но я сильно сомневаюсь, что смогу ее реализовать, ибо во внутренностях CMS (да и вообще в PHP) разбираюсь крайне слабо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 15:14 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
spudeiКак вариант - есть инструменты управления браузерами (типа selenium/watir).Вот мне пока в эту сторону думается. Правда, названные средства, похоже, через чур монстроидальны, поищу попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 15:29 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoft, программно залогиниться на сайте проще простого (обычные http-запросы, есть библиотеки во всех языках). А вот передать куки в браузер - задача трудная и малоисследованная. Неизвестно, какой браузер у пользователя. Потому поддержу вариант krvsa . Ничего сложного. Просто из программы отправляется http-запрос на сайт (с логином/паролем), в ответ приходит ID, и с нем уже (в урле) запускается браузер. В ПХП просто смотрим значение переданного параметра в $_GET['param_name']. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 21:29 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
krvsaКак такая идейка: 1. Программка (зная логин+пароль) в некой временной БД генерит запись, де "вот этому можно" 2. Даёт команду браузеру открыть страницу, указав ИД (или некий идентификатор) той записи 3. Страница должна уметь обрабатывать урл с этим ИД 4. Если ИД указан - читать из временной таблицы логин+пароль, выполнять регистрацию, после чего отрисовываться 5. Удалять ту запись из временной таблички Добавлю, что у временной таблички должно быть поле "стереть эту запись после такого-то времени", индекс по этому полю, и в планировщике задач (и/или в начале пункта 4) стиралка всех записей, "протухших" по той или иной причине, но не стёртых самим приложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 22:08 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
iv_an_ru , это все уже особенности той или иной СУБД... Не более того. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 22:11 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
krvsa, Обидно будет, если из-за такой мелочи сайт однажды потеряет девственность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 22:41 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Пока я пошел другим путем. По следующим ссылкам: http://msdn.microsoft.com/en-us/library/aa752127%28VS.85%29.aspx http://www.sql.ru/forum/actualthread.aspx?tid=347441&pg=1&mid=3257346&hl=ihtmlformelement#3257346 http://forum.codenet.ru/printthread.php?s=0a066bdb5f0fd0288836a92d4395d7b6&t=17473 http://delphiworld.narod.ru/base/ie_fill_forms.html нарыл рецепт управления эксплорером для заполнения в нем нужных полей, попробую его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2011, 11:23 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoftнарыл рецепт управления эксплорером для заполнения в нем нужных полей, попробую его. топик с получившимся кодом и дополнительными вопросами . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2011, 12:38 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoftнарыл рецепт управления эксплореромА если у юзера не эксплорер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2011, 16:40 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Яростный Мечmiksoftнарыл рецепт управления эксплореромА если у юзера не эксплорер?В нормальной винде он есть всегда, а невиндовые случаи и случаи зверско-ломанной винды меня не интересуют. Хотя бывают случаи, что он еле работает из-за обилия глюков и всяких установленных яндекс-гугл-мейлру баров. На такой случай ищу сейчас решение для другого браузера, возможно, даже SSB (site-specific browser). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2011, 16:47 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
miksoft, SSB здесь говорит об другом. Прошу прощения за вопрос - но что имеется ввиду? Жестко сказать клиентам - "использовать только IE"??? Вообще говоря это уродство типа Garant.ru** - с привязкой к IE (СПС крутая и очень удобная, но денег пожалели программеру, чтобы дописать несколько строк кода, чтобы работало для всех Browsers) проблема только в одном объекте - XMLHttpRequestВремя действовать – Quickstart AJAX 1. В приложении A вы найдете инструкции по установке и настройке вебсервера и созданию каталога, доступного через Интернет, с име нем ajax, в котором будут размещаться все исходные тексты приме ров из этой книги. В каталоге ajax создайте каталог quickstart. 2. В каталоге quckstart создайте файл с именем index.html и добавьте в него следующий код: <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd"> <html xmlns=" http://www.w3.org/1999/xhtml"> <head> <title>AJAX и PHP: Quickstart</title> <script type="text/javascript" src="quickstart.js"></script> </head> <body onload='process()'> Сервер желает узнать ваше имя: <input type="text" id="myName" /> <div id="divMessage" /> </body> </html>Создание простого приложения на основе AJAX и PHP 3. Создайте новый файл с именем quickstart.js и добавьте в него сле дующий код: // запомнить ссылку на объект XMLHttpRequest var xmlHttp = createXmlHttpRequestObject(); // создать объект XMLHttpRequest function createXmlHttpRequestObject() { // для хранения ссылки на объект XMLHttpRequest var xmlHttp; // если сценарий запущен под управлением Internet Explorer if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlHttp = false; } } // если сценарий запущен под управлением Mozilla или другого броузера else { try { xmlHttp = new XMLHttpRequest(); } catch (e) { xmlHttp = false; } } // вернуть созданный объект или вывести сообщение об ошибке if (!xmlHttp) alert("Ошибка создания объекта XMLHttpRequest."); else return xmlHttp; } // выполнить асинхронный запрос HTTP с помощью объекта XMLHttpRequest function process() { // работа возможна только если объект xmlHttp не занят if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { // получить имя, введенное пользователем в форму name = encodeURIComponent(document.getElementById("myName").value); // обратиться к сценарию quickstart.php на сервере xmlHttp.open("GET", "quickstart.php?name=" + name, true);34 Глава 1. AJAX и будущее вебприложений // определить метод, который будет обрабатывать ответы сервера xmlHttp.onreadystatechange = handleServerResponse; // послать асинхронный запрос серверу xmlHttp.send(null); } else // если соединение занято, повторить попытку через одну секунду setTimeout('process()', 1000); } // вызывается автоматически по прибытии сообщения от сервера function handleServerResponse() { // продолжать можно только если транзакция с сервером завершена if (xmlHttp.readyState == 4) { // значение 200 говорит о том, что транзакция прошла успешно if (xmlHttp.status == 200) { // извлечь XML, полученный от сервера xmlResponse = xmlHttp.responseXML; // получить корневой элемент в структуре XML xmlDocumentElement = xmlResponse.documentElement; // извлечь текстовое сообщение, которое находится в первом // дочернем элементе корневого узла helloMessage = xmlDocumentElement.firstChild.data; // обновить текст сообщения на экране document.getElementById("divMessage").innerHTML = '<i>' + helloMessage + '</i>'; // повторить последовательность действий setTimeout('process()', 1000); } // код статуса HTTP, отличный от 200, говорит о наличии ошибки else { alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText); } } } 4. Создайте файл с именем quickstart.php и добавьте в него следующий код: <?php // результаты будем отправлять в формате XML header('ContentType: text/xml'); // сгенерировать заголовок XML echo '<?xml version="1.0" encoding="UTF8" standalone="yes"?>'; // создать элемент <response> echo '<response>'; // получить имя пользователяСоздание простого приложения на основе AJAX и PHP 35 $name = $_GET['name']; // сгенерировать текст сообщения в зависимости // от имени пользователя принятого от клиента $userNames = array('CRISTIAN', 'BOGDAN', 'FILIP', 'MIHAI', 'YODA'); if (in_array(strtoupper($name), $userNames)) echo 'Здравствуйте, мастер ' . htmlentities($name) . '!'; else if (trim($name) == '') echo 'Скажи мне, как зовут тебя, незнакомец!'; else echo htmlentities($name) . ', вы мне не знакомы!'; // закрыть элемент <response> echo '</response>'; ?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2011, 00:30 |
|
||
|
Как произвести запуск браузера одновременно с логином на сайте?
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovmiksoft, SSB здесь говорит об другом. Прошу прощения за вопрос - но что имеется ввиду? Жестко сказать клиентам - "использовать только IE"???Я сам ваш вопрос не очень понял :( Правильная ссылка на SSB - http://en.wikipedia.org/wiki/Site-specific_browser Но, если честно, тему SSB я так и не стал исследовать. Оно пока не настолько нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2011, 11:59 |
|
||
|
|

start [/forum/search_topic.php?author=vay&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 865ms |
| total: | 1171ms |

| 0 / 0 |
