The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Прозрачный переход с одного сайта на другой с авторизацией, !*! Сергей, 15-Авг-06, 17:33  [смотреть все]
Добрый день!

Можно ли сделать такое - у меня есть один сайт с авторизацией и есть ресурс моего знакомого, тоже использующий авторизацию. Я знаю логины и пароли его пользователей, он - моих. Что я хочу - сделать ссылку на своем ресурсе - перейти на сайт к другу. Ссылка вызывает скрипт, который проводит авторизацию, и переходит на сайт.
Как мне кажется, сделать это можно, но вот как? Я постоянно сталкиваюсь с проблемой cookie. Как мне их сохранить и как передать клиенту в броузер? Не очень понятно, если честно.

Заранее спасибо за помощь!

  • Прозрачный переход с одного сайта на другой с авторизацией, !*! exec, 01:32 , 16-Авг-06 (1)
    >Как мне кажется, сделать это можно, но вот как? Я постоянно сталкиваюсь
    >с проблемой cookie. Как мне их сохранить и как передать клиенту
    >в броузер? Не очень понятно, если честно.

    Если суперзащищённость не требуется то что мешает на сайт друга поставить скрипт, которму передаётся
    u=юзернэйм
    p=хеш_юзерпароля
    a=режим, где 1=выдаёт пробел // 0=gif размера 1x1 px
    скрипт ставит нужную куку и выдаёт что положено.

    Тогда можно было бы при авторизации у вас на сайте вызвать тот скрипт из странички "вы авторизованы на моём сайте" следующим образом:

    <script language='JavaScript' src='сайт_друга/cgi-bin/l.cgi?u=юзер&p=пасс&a=1'></script>
    <noscript><img src='сайт_друга/cgi-bin/l.cgi?u=юзер&p=пасс' width=1 height=1></noscript>

    и юзер при авторизации будет сразу авторизовываться и у вас и у него.
    Причём вариантов вызова этого самого скрипта море... Здесь и
    <iframe>
    и
    <link rel="stylesheet" type="text/css" href="скрипт_друга">

    Наконец, можно передавать данные прямо в ссылке на сайт друга, а что бы данные с ссылки не перехватили, добавить ещё один параметр:
    t=время_в_unixtime
    а хеш пароля формировать так (на perl):
    $hashpass = md5_hex("$userpass это $time_this");

    а потом смотреть:
    1. Хеш совпадает для пароля юзера из переменной u= и времени из переменной t=, если да то шаг 2 если нет, то не_авторизовано!
    2. Время из перменной t= не отличается от текущего более чем на 60 сек, если нет то авторизовано. Если нет, то не_авторизовано!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру