Принцип работы предполагаемого ЛК:
При переходе на страницу загружать поле для логина и пароля.
При вводе пароля и логина слать ajax запрос, и, если авторизация удачна, посредством jQuery (метод $('body').html()) блок авторизации заменять на то, что вернёт ajax запрос.
Таким образом, заменённый блок body, после удачной авторизации, будет содержать другой контент (уже контент ЛК).
Может ли тут быть уязвимость? (Подмена переменных и т.п.)
все зависит от того, как и что реализовано. некоторые делают запросы по ajax при помощи авторизации с помощью php или cookie. но есть еще и другие способы - например с помощью hasha который меняется в зависимости от номера обращения к сайту. он то и является более безопасным. в итоге: Безопасно ли делать личный кабинет на JS (Ajax)? - зависит от того, какой уровень безопасности вы считаете минимально приемлемым!!!
Developer Yii: Вы понимаете смысл того, что пишете? Выглядит как бессвязный набор слов.
Любое общение клиента с сервером основан на HTTP. Причём тут hash. PHP и cookie?
Евгений Петров: Евгений, пожалуйста, читайте более внимательно и Вы действительно увидите там смысл! И вообще прежде чем эмоционировать, неплохо было бы книжки по теме почитать...
ИТАК, для тех кто не в теме. Безопасность доступа к сайту непосредственно связана с авторизацией/ аутентификацией, которая может быть реализована разными способами, в том числе с помощью передачи контрольных сообщений непосредственно в теле запроса (например, меняющегося кода HASH в виде GET/POST параметров) или с помощью куки... Вот и получается, что основных таких способов всего ТРИ: hash, PHP и cookie.
Специфика же AJAX-а такова, что он специально приспособлен к методу авторизации с помощью КУКИ, реже с помощью PHP (но не hash - генерировать его непосредственно с помощью Javascript/AJAX - в принципе можно, но это скорее изврат, потому что это опять дополнительные обращения к специальным страницам сайта). И ВОТ В РЕАЛЬНОСТИ получается, что при реализации AJAX наиболее часто используют авторизацию по КУКИ (просто программистам так удобно - иначе придется писать кучу кода, что очень затратно, и логику сложную выстраивать)! НЕ верите - наберите в любом поисковике: "Уязвимость авторизации через чужие cookie" - и будет все понятно!!!
Так вот и получается, что стандартная схема обращения к закрытым (секретным) страницам сайта через AJAX + COOKIE - это спорный с точки зрения безопасности вариант. И как правило разработчики жертвуют уровнем безопасности ради удобства и скорости разработки кода!!! А если сюда еще добавить авторизацию на другом домене... Ух, возникает очень много вопросов...
Ну так вот, Евгений, получается что если Вы ни разу не делали модуль авторизации с помощью HASH-кода - это вам только в минус! И подучиться надо бы....
p.s. теперь почему то каждый, кто научился ставить галочки в cms - уже программист и разработчик! Офигеть... Культуры общения не прибавилось, а уже эксперты...
Developer Yii: Прочтите тему, знаток PHP.
Речь о том, имеет ли значение как отправлять форму — стандартной формой или с помощью AJAX. Если не поняли — прочтите ещё раз, пока не поймёте, что виды авторизации никак не зависят от выбранного варианта.
Неужели вы серьёзно считаете, что PHP имеет хоть какое-то отношение к теме? Точно знаете, что кроме PHP никаких серверных скриптов нет?)
Употребление в адресе отправки транспорта hash — это обращение к специальным страница сайта?) Да вы бредите.
Судя по смыслу ваших сообщений, разработчиком считаете себя только вы сами.
1) "Употребление в адресе отправки транспорта hash — это обращение к специальным страница сайта?) Да вы бредите." - Ну тогда Вы то точно будете генерить прямо в яваскрипте на стороне рабочей станции, чтобы все видели Ваши алгоритмы.
2) а почему случай с php не имеет права на жизнь? вполне себе ситуация...
3) я по крайней мере без повода не наезжаю на людей, а пытаюсь мыслить логически
Developer Yii: Ещё раз для танкистов. Нет абсолютно никакой разницы между отправкой формы явным образом и отправкой запроса с помощью XMLHttpRequest.
Читайте фразу, пока не поймёте этот простой факт.
Цитата: "Вся значимая коммуникация между сервером и клиентом должна осуществляться с применением шифрования", ссылка: https://ru.m.wikipedia.org/wiki/Уязвимости_AJAX, примечаний: что то я не видел в постановке вопроса что данные (логин и пароль) шифруются, а это значимые данные. P.s. Вы ошиблись, я не "танкист", так что комментировать Ваши посты больше смысла не вижу. Удачи!
Слушай, я тут почитал твой пост на тему "Какой язык программирования подходит для заработока?" (Какой язык программирования подходит для заработока?). Ну вот ты написал: "Моя первая девушка была из моего же класса... Я решил бросить её как только школу закончу, а то скучно и беспесперктивняк какой-то.. Круто! Мне 3 раза дали. Ну точнее 2, один раз девушка отрубилась и уснула у меня дома, но я решил, что она согласна... " блин, надо было сразу читать, а то я не понял чей пост комментировал... вот и получил в ответ "Вы понимаете смысл того, что пишете?" в следующий раз попробуйте написать так: "Вы хотя бы понимаете, пост какого человека вы комментите?" :) тогда и споров не возникнет...
Developer Yii: Как ваша необразованность связана с моим постом? Не смущает, что все ответы других участников ровно про то, что нет никакой разницы, а вы умудрились её найти? Обосновать позицию не можете, глупость городите.
Вас смешит мой пост? Прекрасно — для того и был написан. Но он не имеет отношения к вашему воинствующему дилетантству.