1 октября, 20168 yr Author comment_113096 А если работать * в направлении адаптации форума и * прикрепить к форуму
1 октября, 20168 yr Author comment_113099 6 минут назад, greykoo сказал: z8ToT8z, в моем хаке работает смена пароля/авторизация и регистрация, а так же вход на сам сервер ? Ты проверил это всё? Регистрация с форума в базу игрового сервера - работает, заходит и в игру и в личный кабинет (отдельный скрипт кабинета) Смена пароля на форуме через "настройки профиля" - работает, так же смог зайти и на форум и в личный кабинет игрового сервера
1 октября, 20168 yr comment_113100 21 минуту назад, greykoo сказал: Я делал так как это делает IPS - то есть не стал добавлять пароли в базу. Взаимодействовать с БД нужно моментально ибо игроки не станут ждать пока аккаунт зарегается через какое-то там время , я уже об этом писал - это очень важно Не понимаю при чем здесь моментальность, аккаунт на форуме регистрируется моментально, либо не регистрируется совсем если он спамер. При том вы его еще регистрируете в удаленной базе данных перед регистрацией на форуме, которая еще может не произойти. Это тоже ошибка в логике. А речь о том, что у Вас лишается возмодность управлением паролем с форума. Только на удаленном сайте. IPS так делают потому, что они используют метод createOrUpdateAccount который также используется в авторизации с соцсетях а там пароля нету. Ну и тут либо также решили оставить, либо как обычно загавнакодили, как не редко у них это бывает. Но по хорошему пароль нужно сохранить, при том остается возможность управлением паролем с форума тоже. Я вижу здесь только одно препятствие, если пользователь сменит пароль на сайте. В этом случае, если форум с внутреннего метода авторизации не перейдет на внешней и выдаст сообщение об ошибке что пароль не верен, просто поднять внешней метод выше чтобы он отработал первым и после авторизации проверять пароль и в случае необходимости его обновлять. 20 минут назад, z8ToT8z сказал: Смена пароля на форуме через "настройки профиля" - работает Серьезно? Хм, интересно а как она работает если пароль пустой... Неужели IPS не требует старый пароль? Во всяком случае с АЦ могут быть проблемы по вышеописаному багу.
1 октября, 20168 yr comment_113101 42 минуты назад, soka сказал: Серьезно? Хм, интересно а как она работает если пароль пустой... Неужели IPS не требует старый пароль? Во всяком случае с АЦ могут быть проблемы по вышеописаному багу. Не требует пароль , я выше написал. IPS хранит пустые пароли в таком методе авторизации - по этому я так же делал. Это сервер. Там менять пароли можно в других скриптах и они не связанные с IPS, да и в игре наверное тоже можно менять пароль - по этому так делать плавильней , по этому в IPS додумались - не хранить пароли , ибо на другой стороне он сможет измениться где угодно без обратного ответа.
1 октября, 20168 yr Author comment_113102 1 час назад, soka сказал: Серьезно? Хм, интересно а как она работает если пароль пустой... Неужели IPS не требует старый пароль? Во всяком случае с АЦ могут быть проблемы по вышеописаному багу. Все работает, вот как было, я зарегистрировался на форуме, получил письмо - активировался на почте. Далее зашел на форум. Одновременно я зашел в игру - значит авторизация и регистрация работает на 100% Потом я зашел на форум и сменил пароль через "настройки профиля" вышел и зашел на форум с новым паролем, тоже самое в игре и в личном кабинете... Так же я еще через регистрацию для игрового сервера (ее уже снес) зарегистрировал аккаунт, с ним же зашел на форум и в игру - успешно, далее на форуме под этой записью сменил пароль, вышел - зашел, в игре и в личном кабинете так же успешно с новым паролем. Вывод регистрация работает, авторизация соответственно тоже, смена пароля проверялась только с форума. Нужно попробовать сменить пароль через личный кабинет игрового сервера, но думаю там тоже все будет успешно!
1 октября, 20168 yr comment_113109 2 часа назад, greykoo сказал: Не требует пароль , я выше написал. IPS хранит пустые пароли в таком методе авторизации - по этому я так же делал. Это сервер. Там менять пароли можно в других скриптах и они не связанные с IPS, да и в игре наверное тоже можно менять пароль - по этому так делать плавильней , по этому в IPS додумались - не хранить пароли , ибо на другой стороне он сможет измениться где угодно без обратного ответа. Блин, вроде программист а приходится на пальцах объяснять. Столько слов, что в итоге и сам запутался. Речь не о том, сохраняется пароль или нет, это без разницы, проблема с сменой паролем на удаленном сайте решается перемещением метода внешней авторизации вверх, чтобы он первый отработал или вообще отключением внутреннего. Не хотите сохранять, не храните (но я бы все таки в таком случае вызвал дефолтный метод _createMember а потом удалил пароль, все таки плахой тон перегружать методы не вызывая родительский если вдруг какому нибудь другому хуку потребуется его перегрузить). А речь о том, что будет если какой нидубь апи интерфейс вызовет смену пароля? Например, смена пароля какому нибудь пользователю из АЦ (хз если ли такая функция в четверке, но в api это точно есть)? Мне кажется \IPS\Member::loggedIn()->name вернет не совсем соответствующие данные. Т.е. если нет значения у переменной $_POST['auth'], будет использоваться имя текущего пользователя если он есть, и даже если вы вернете нулл пароль все равно сбросится, потому что в changePassword нет никакой проверки. Проще уже не знаю как объяснить, извините. if( !empty( $_POST['auth'] ) ) { $username = $_POST['auth']; }else if( !empty( \IPS\Member::loggedIn()->name ) ) { $username = \IPS\Member::loggedIn()->name; } else { return null; } 2 часа назад, z8ToT8z сказал: Все работает, вот как было, я зарегистрировался на форуме, получил письмо - активировался на почте. Далее зашел на форум. Одновременно я зашел в игру - значит авторизация и регистрация работает на 100% С форума будет работать. Проблемы начнутся если администратор захочет чужому пользователю сменить пароль. И речь не о том, сохраняется он на форуме или нет, а в том, что в коде используется имя текущего пользователя.
1 октября, 20168 yr comment_113110 3 часа назад, greykoo сказал: Не требует пароль , я выше написал Вообще-то требует, но проверяется он во всех доступных методов авторизации, в том числе и во внешней бд.
1 октября, 20168 yr Author comment_113112 24 минуты назад, soka сказал: С форума будет работать. Я уже писал, регистрация работает как с форума, так с игры самой (т.е. администратор может создать аккаунт), так и с стороннего (любого базового скрипта регистрации), после чего пароль можно менять хоть с форума, хоть с игры, хоть с того же стороннего сервиса (личный кабинет например https://gadgetzan-lines.com/myth ) и потом заходит спокойно...с АЦ форума еще не проверил...
1 октября, 20168 yr comment_113115 31 минуту назад, soka сказал: Проблемы начнутся если администратор захочет чужому пользователю сменить пароль.
1 октября, 20168 yr Author comment_113116 soka, где именно администратор сменит пароль? в АЦ форума? или в игре самой?
1 октября, 20168 yr comment_113117 36 минут назад, soka сказал: Например, смена пароля какому нибудь пользователю из АЦ (хз если ли такая функция в четверке, но в api это точно есть)
1 октября, 20168 yr Author comment_113119 greykoo, да сейчас, я себе базу сломал, но это мой косяк, сейчас откачу) и затестим
1 октября, 20168 yr comment_113121 13 минут назад, greykoo сказал: z8ToT8z, soka, протестируй смену пароля из админки wowautch.xml Насколько я знаю несоответствие количество аргументов у перегружаемых методов вызывает ошибки типа trict Standards Declaration of should be compatible with . Лучше использовать глобальные переменные или свойство класса.
1 октября, 20168 yr comment_113122 1 час назад, Xuc сказал: адаптацию с WP так за годы ни кто и не придумал? Смотря как он пароли шрифует если обычный md5 - тогда и без хаков обойтись можно , просто нужно настроить доступ и всё. Или reset api soka, ну так возьми и сделай человеку как положено Edited 1 октября, 20168 yr by greykoo
1 октября, 20168 yr Author comment_113123 greykoo, смена пароля в АЦ форума простому юзеру прошла успешно, смог зайти в личный кабинет игрового сервера! Отличная работа, спасибо! soka, Вам тоже спасибо, но если вы готовы предложить готовое решение, я с удовольствием протестирую!
1 октября, 20168 yr comment_113124 29 минут назад, greykoo сказал: Смотря как он пароли шрифует если обычный md5 - тогда и без хаков обойтись можно , просто нужно настроить доступ и всё. Или reset api soka, ну так возьми и сделай человеку как положено http://wp-kama.ru/function/wp_hash_password md5 мы на нулледе ломали еще лет 8 назад пачками)))) вот мой тест на безопасность IPB https://forum.antichat.ru/threads/89112/page-3 ник Sputnik )))) Edited 1 октября, 20168 yr by Xuc
1 октября, 20168 yr comment_113125 2 часа назад, soka сказал: проблема с сменой паролем на удаленном сайте решается перемещением метода внешней авторизации вверх Более того, даже этого не требуется. Будут выполнятся все доступные методы авторизации пока авторизация не пройдет успешно. Для пущей синхронизации, после авторизации можно проверить если пароль пользователя не сменился в противном случае его обновить. 52 минуты назад, greykoo сказал: soka, ну так возьми и сделай человеку как положено На предыдущей странице разве не видно? То-то я здесь так много талдычу. Пароль в вп хешируется библиотекой phpass (так раньше было), по умолчанию по алгоритму blow fish.
3 октября, 20168 yr comment_113190 В предыдущем плагине пропустил один баг, прошу прощения. Только сейчас заметил. WoW External Auth.xml Edited 3 октября, 20168 yr by soka
24 февраля, 20186 yr comment_143768 У меня с чем-то схожая проблема. Нужно сделать чтобы при регистрации на форуме создавался аккаунт на сайте DLE. Как это можно организовать?
24 февраля, 20186 yr comment_143771 2 часа назад, TTT сказал: У меня с чем-то схожая проблема. Нужно сделать чтобы при регистрации на форуме создавался аккаунт на сайте DLE. Как это можно организовать? Для этого нужна интеграция, платная штука если не ошибаюсь
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.