qqignatqq 1 Опубликовано: 11 апреля 2016 Рассказать Опубликовано: 11 апреля 2016 Здравствуйте. Есть php файл такого вида: <?php include ('engine/api/api.class.php'); $request = $dle_api->external_auth( $_POST['ajaxname'], $_POST['ajaxpass']); if ($request == true) echo 'Вы успешно Авторизировались'; elseif ($request == false) echo 'Ошибка! Логин или пароль не совпали!'; На сайте его встречается такой js $(function(){ $('#ajaxlogin').on( "submit", function(e) { e.preventDefault(); $.ajax({ type: "POST", url: "ajaxlogin.php", data: $('#ajaxlogin').serialize(), success: function(data){ alert(data); } }); }); }); Создал форму, ввожу логин и пароль, возвращается true, обновляю страницу, а я как был гостем, так и остался. Почему так? Где ошибка? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 092 Опубликовано: 11 апреля 2016 Рассказать Опубликовано: 11 апреля 2016 1 час назад, qqignatqq сказал: Создал форму, ввожу логин и пароль, возвращается true, обновляю страницу, а я как был гостем, так и остался. Потому что в вашем коде нет никакой авторизации, вы проверяете только введенные данные и все. Вместо echo 'Вы успешно Авторизировались'; вам нужно собственно написать PHP код, который будет устанавливать куки браузера, потом из куков проверять авторизацию и т.д. Цитата Ссылка на сообщение Поделиться на других сайтах
qqignatqq 1 Опубликовано: 11 апреля 2016 Рассказать Опубликовано: 11 апреля 2016 Автор 3 минуты назад, celsoft сказал: Потому что в вашем коде нет никакой авторизации, вы проверяете только введенные данные и все. Вместо echo 'Вы успешно Авторизировались'; вам нужно собственно написать PHP код, который будет устанавливать куки браузера, потом из куков проверять авторизацию и т.д. Ну и, извиняюсь за выражение, на*уй тогда в документации писать: Цитата $dle_api->external_auth( string $login, string $password); Авторизация по логину и паролю. Возвращаемые значения: true - авторизация успешна, false - логин или пароль не верны. ??? 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 092 Опубликовано: 11 апреля 2016 Рассказать Опубликовано: 11 апреля 2016 В документации написано все правильно. Не путайте API для работы с базой данных, с другими функциями и действиями на сайте. Данная функция проверяет авторизацию по введенным данным с базой данных, и возвращает вам соответствующие значения, а дальше вам уже и нужно делать нужные вам действия. API дается для взаимодействия сторонних скриптов с DLE, а не делает какие то действия вместо DLE. В DLE есть свои механизмы для авторизации, которые сделают все нужные действия непосредственно для DLE. Цитата Ссылка на сообщение Поделиться на других сайтах
malcov 4 Опубликовано: 6 октября 2018 Рассказать Опубликовано: 6 октября 2018 Столкнулся с такой же проблемой. Лучше тогда описать это как "Проверка авторизации\данных", а не "Авторизация по логину и паролю". 2 Цитата Ссылка на сообщение Поделиться на других сайтах
-Sheckler- 9 Опубликовано: 24 июля 2020 Рассказать Опубликовано: 24 июля 2020 У меня интереснее вопрос ) Создал API для выгрузки данных сервиса (сайта) в нативное iOS приложение. DLE API предлагает использовать открытый пароль. Для авторизации в приложении и получения данных об учетной записи со стороны приложения должны ввести пароль и передать его POST-ом на мой сервер и получить json ответ. Использовать передачу пароля в открытом виде не безопасно. Вопрос, как создать сопоставимый хэш пароля, чтобы передать его POST-ом? Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 24 июля 2020 Рассказать Опубликовано: 24 июля 2020 54 минуты назад, -Sheckler- сказал: У меня интереснее вопрос ) Создал API для выгрузки данных сервиса (сайта) в нативное iOS приложение. DLE API предлагает использовать открытый пароль. Для авторизации в приложении и получения данных об учетной записи со стороны приложения должны ввести пароль и передать его POST-ом на мой сервер и получить json ответ. Использовать передачу пароля в открытом виде не безопасно. Вопрос, как создать сопоставимый хэш пароля, чтобы передать его POST-ом? Для того что бы не передавать в открытом виде, используйте HTTPS. Никакой другой авторизации в DLE нет, всё остальное можете писать самостоятельно под себя. Цитата Ссылка на сообщение Поделиться на других сайтах
-Sheckler- 9 Опубликовано: 10 августа 2020 Рассказать Опубликовано: 10 августа 2020 В целом разобрался. Вопрос как присвоить свой header application/json ? игнорирует строку если пишу её в модуле при выводе строки json Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 10 августа 2020 Рассказать Опубликовано: 10 августа 2020 14 минут назад, -Sheckler- сказал: В целом разобрался. Вопрос как присвоить свой header application/json ? игнорирует строку если пишу её в модуле при выводе строки json header должен быть выше любых выводимых данных. Цитата Ссылка на сообщение Поделиться на других сайтах
-Sheckler- 9 Опубликовано: 10 августа 2020 Рассказать Опубликовано: 10 августа 2020 15 минут назад, Gameer сказал: header должен быть выше любых выводимых данных. даже если в index.php написать над подключением файлов всёравно игнор ) Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 17 августа 2020 Рассказать Опубликовано: 17 августа 2020 В 10.08.2020 в 21:54, Gameer сказал: header должен быть выше любых выводимых данных. В DLE используется буферизация вывода, по этому можно этим пренебрегать, главное принудительно в своём коде не скидывать содержимое буфера. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.