Модератор форума: JonMagon |
Сообщество uCoz Мастерская uCoz Использование PHP и API на uCoz Данные в cookies |
Данные в cookies |
Himmler, рад, что у Вас что-то там получилось, но Вы, видимо, просто упёрлись в свой метод, который построен на лишних сложностях. Его суть: посетитель авторизовывается на одном сайте, а на другой передаётся лишь ID. Авторизация там происходит без пароля, на одном честном слове и на каких-то суперсложных "пентагоновских" контрольных последовательностях (хэшах). Вполне допускаю возможность осуществления такого процесса. Но онслишком громоздок, а ведь есть более простой способ, без рытья ям самому себе! Вот что вы пишете:
Да, конечно, но ведь вы берёте одну из авторизаций и обрубаете её. Но это в корне неправильно. Надо совместить две аторизации. Это возможно, когда пароли одного пользователя на двух сайтах совпадают. Почему??? Да какое вообще php!!! Ведь всё же элементарно! Нет, конечно же, так делают и вполне нормальные люди. Вот вам алгоритм, по аналогии с которым я предложил Вам совместить ("синхронизировать") авторизации - Яндекс.Почта для домена (см. последниий абзац). Ну ЧТО такого опасного в цифре и нике! Ваш ID - 88056. Ваш USERNAME - Himmler. И что? Да ничего, если для авторизации требуется пароль. Вы же неточно выражаетесь, что Вам нужно. Вам же нужен не просто ID и USERNAME, вам нужна некая контрольная последовательность, которая позволяет авторизоваться. Вы сами создаёте себе препятствия, выбираете длинную дорогу. Да, описанный метод имеет некоторое неудобство: необходимо, чтобы пароли были одинаковы. Но овчинка стоит выделки. И старые пользователи могут и потерпеть вынужденный переходный период. Регистрацию новых пользователей на двух сайтах тоже надо совместить. Но решать, в любом случае, только Вам. Я просто дал совет, так как эта тема показалась мне интересной. Всегда ищу более простой способ (а Вы, наверное, лёгких путей не ищите). Простите, не всегда получается точно выразить свои мысли, но ведь и Вы не слишком точно изъясняетесь. Элегантный uCoz :)
|
Пример приведёте? Вот вам алгоритм, по аналогии с которым я предложил Вам совместить ("синхронизировать") авторизации - Яндекс.Почта для домена (см. последниий абзац). Это НЕ БУДЕТ РАБОТАТЬ если удалённый сайт находится не на поддомене хотя бы. Вы сами вдумываетесь в то, что предлагаете?:) КУКИ НЕ ПЕРЕДАЮТСЯ НА ПОСТОРОННИЕ ДОМЕНЫ. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Вы не используете ни PHP ни JS для передачи данных? Ой, извините, я забыл что можно ещё силой мысли. Тогда вопросов нет, конечно же. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Inquisitоr, ну вот почему, почему всегда происходит так: когда искренне пытаешься кому-то помочь, все стараются усмотреть в этом какой-нибудь корыстный умысел? И на любые объяснения своего хода мыслей отвечают: "А ты нам докажи! Код в студию." Не собираюсь я никому ничего доказывать. Это ведь не мне нужна двойная авторизация. Просто я пытаюсь натолкнуть человека на хорошую идею.
Знаю я про куки. Но это здесь не играет особой роли. Это подтверждает следующий факт: основной сайт - site.ru, а авторизация в почте происходит на passport.yandex.ru. Вы же этот пример смотрели? Ну вот Вам и один ответ на два вопроса. :) Добавлено (18 Сен 2015, 23:09:40) |
Это плохая идея. Вы лишь пытаетесь показать что "что-то" знаете. Вы не подумали о том, что человек готов купить сторонний СЕРВЕР для реализации дополнительных возможностей, а элементарный PHP, который решит его проблему в 1 секунду он не хочет. Не подумали о том, что человек не сможет выгрузить базу пользователей с паролями на сторонний сервер, в БЭКАПЕ сайта uCoz пароли хранятся в виде, формирование которого никому никто не сообщит. Человек пытается уйти в степи, за решением своего вопроса, а вы ему ещё и дорогу туда показываете. Я же лишь хочу чтобы человек наоборот сделал шаг назад, так как этот способ самый простой и в принципе - единственно верный. Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Inquisitоr, я же написал, что идет прямой пост. То есть, загрузка url - sub.mysite.ru/auth_check.php?ssid=x&id=..... ))) После check ok, в login form, можно открыть фрейм или редирект. Как лучше, я пока не решил.
Вы просто пропустили, или прочли не внимательно. ))) PtrPt, давайте поясню, чем изначально идея с открытой передачей данных, в данном, конкретном случае, плоха. Вот например, все тот же AMXBans - это плагин для серверов, позволяющий управлять админами и банами на всех включенных в него серверах, и самими серверами. Я открываю доступ к админ части, веб "морды" данного плагина, группе с group id 4. Скажем в эту группу входит человек с user id 1. Вот я создал cookies: имя mycookies, содержимое user id. По нему определяется, в какую группу входит пользователь. Умник открывает cookies, и меняет значение, со своего id, на id 1. И получает полный, и ничем не ограниченный доступ. К администрированию всех входящих в AMXBans серверов. Творит все, что ему захочется, например удаляет всех админов, чистит бан лист, добавляет ip 0.0.0.0 (то есть банит все ip), чистит логи, и спокойно уходит. Я даже ip умника не узнаю. Касательно двойной авторизации. Для этого нужно не просто держать "дубль" базы пользователей. Нужно дублировать вобще всю систему управления пользователями. А это несколько сложнее, не находите? )))) Плюс к этому, придется отключит uid, или оплатить php на uCoz. Или (что в данном случае совсем плохо) полностью перенести управление пользователями, на вспомогательный сайт. Который предназначен для php частей, нужных для игрового сервера. Накой это надо? Проще тогда полностью перенести сайт на сервер, и не париться. А я хочу, оставить сайт на uCoz, и позволить авторизовываться только на нем. Без 100500 регистраций и авторизаций. Inquisitоr, сервер есть :) не самый крутой, но для поставленной задачи за глаза. Честно говоря, для данной задачи, вообще коры дуба хватит. :D Просто php на uCoz, вставляется на стр. через JS. Это не разу не подходит для авторизации. Если бы я забирал данные на uCoz, то подошло бы. А для post, эта конструкция не подходит. Сообщение отредактировал Himmler - Суббота, 19 Сен 2015, 00:14:13
|
Не все браузеры установят куку во фрэйме. Изучайте P3P и политику одного источника для браузеров Apple Safari. В общем то я прекращаю читать. Просто когда домучаете скрипт "решение своё", покажите мне свой сайт, и на следующий день я получу данные с удалённого сервера для любого пользователя и составлю вам список листов на пять ваших уязвимостей. Вы просто напросто не понимаете что никаких ключей вы не передаёте, вы просто напросто передаёте ID пользователя и я могу подставить любой номер пользователя и получить данные. И это печально. Запретите регистрацию пользователей на своём сайте, иначе своими действиями вы просто даёте доступ к их персональным данным (если во второй базе будет храниться что-то ценное). Учитесь читать, читая - вчитывайтесь, вчитываясь - вдумывайтесь, вдумываясь - понимайте, поняв - делайте. ©
|
Да, я много чего не знаю, но в одном я уверен точно: входить по одному лишь ID, без пароля - это нонсенс. Как Вам такое вообще в голову могло прийти? Inquisitоr прав: уж лучше совсем отключить авторизацию на втором сайте, чем оставлять так, как есть сейчас.
UID не обязательно отключать - можно перейти на старую форму входа, хотя с локальн., конечно же, будет проще. Да, я понимаю, что придётся много чего менять - я уже писал об этом выше. Но так, всё же, безопаснее будет, чем сейчас. Или у вас на втором сайте какой-то неполноценный вход - без пароля? Если "да", то извините, не думал, что и такое бывает. Вы пытаетесь безопасно и тайком передать ID авторизованного пользователя с первого сайта на второй. И это при том, что они не могут "общаться" друг с другом. Это же просто авантюра какая-то! Способ же, предложенный мной, даже и не ставит задачу взаимодействия серверов, общей базы пользователей на главном сайте, новых кук и т.п. Просто две независимые друг от друга авторизации, происходящие на двух сайтах одновременно, но с одной страницы. Только лишь и происходит, что пользователь освобождается от тяжкого труда по заполнению сразу двух форм. |
| |||