2014-11-25 3 views
-2

Я хочу проверить, проверен ли пользователь перед доступом к закрытым страницам моего приложения. Планируется написать сценарий в верхней части каждой страницы, загружающей jquery, подключиться к серверу и проверить соединение и перенаправить пользователя на страницу входа в систему, если он/она не вошли в систему.Дождитесь загрузки jquery.js перед завершением остальной части страницы

Например, это private.html страница

<script src="/js/jquery"> //put a function that will till the download is completed before running the liness below 
    <script> 
     $.ajax(ur:"/server/checkif user is logged"); 

    </script> 

    //other html elements 
+3

Этот вид проверки подлинности лучше будет обрабатываться сервером, а не клиентом, не так ли? –

+1

Это работа на стороне сервера. Не на стороне клиента – UtherTG

ответ

1

Забудьте об этом. Это небезопасный и ненадежный. Как уже упоминалось, клиент уже получил всю страницу до JavaScript даже начал выполняться.

Этот тип аутентификации должен выполняться на стороне сервера. Поскольку вы не помечать язык программирования на стороне сервера в явном виде, я могу только предложить общий маршрут для достижения этой цели:

  • Сначала проверьте, если клиент «вошли в»
  • Если нет, не создают исходная страница intented для показа таких клиентов
  • Вместо показать форму входа

важно, что - в этом контексте - личные данные даже не посылаются клиенту, только если это проверка подлинности.

1

Вы не можете остановить загрузку страницы с помощью JavaScript, потому что загрузка ресурсов и выполнение его содержание являются две разные вещи. (Любой может загрузить всю страницу в файл, и скрипт внутри не будет выполнен.) Вам необходимо выполнить проверку подлинности и перенаправление на вашем сервере.

Даже если вы проверили аутентификацию с использованием JavaScript и только затем загрузили контент программно, вы столкнулись бы с одной и той же проблемой (пользователи могли бы захватить ваш скрипт и просто загрузить ваш контент напрямую).

Смежные вопросы