Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Как не показывать страницу пользователю, у которого нет прав (https://javascript.ru/forum/angular/47194-kak-ne-pokazyvat-stranicu-polzovatelyu-u-kotorogo-net-prav.html)

Shasoft 13.05.2014 13:48

Как не показывать страницу пользователю, у которого нет прав
 
К примеру есть у нас страница, которую нужно показывать только авторизованному пользователю. Но проверка прав написана на js, т.е. все это проверяется на клиенте. Соответственно никто не мешает клиенту обмануть сервер и запросить данные, которые ему не должны быть доступны.

Решения (что мне в голову пришло :))
1. При загрузке шаблона страницы проверять: есть ли у пользователя права на эту страницу?
2. При загрузке данных проверять, есть ли у пользователя права на данные для этой страницы?

пп.1 простой в реализации, но его "секурность" слабо говоря не на высоте.
пп.2 вроде всё закрывает, но при этом его реализация сложнее.

Собственно какие ещё есть идеи?

p.s.можно писать даже бредовые идеи, тема создана как раз для обсуждения.

FireVolkhov 14.05.2014 06:32

Только пп.2, т.к. от пп.1 толку мало.

Shasoft 14.05.2014 13:45

В общем понятно. Судя по вагону идей кроме пп. 2 больше ничего и нет.
p.s. Хотя это и было ожидаемо, но всё-таки была надежда "а вдруг". :)

rockerror 18.05.2014 19:49

Нельзя проверять права на клиенте. Соовсем. Вообще. Никогда. Никак. Ни при каких обстоятельствах). Даже банальную валидацию на клиенте нужно дублировать на сервере.

Shasoft 19.05.2014 09:52

Вы сначала написали что нельзя, и тут же описали случай когда это можно делать - дублировать. :)

rockerror 24.01.2015 16:48

Валидация на клиенте делается для пользователя. То есть чтобы не тратить его время на отпраквку невалидных данных. Это вопросы UI. А валидация на сервере происходит для безопасности. А в топике речь идет именно о безопасности. Сори, что долго отвечал :D

danik.js 24.01.2015 19:43

rockerror, тебя похищали ОНИ? Главное, что вернули :)

Vlasenko Fedor 24.01.2015 20:53

Цитата:

Сообщение от danik.js
rockerror, тебя похищали ОНИ? Главное, что вернули

обоснуй в чем он не прав
Цитата:

Сообщение от rockerror
Нельзя проверять права на клиенте. Соовсем. Вообще. Никогда. Никак. Ни при каких обстоятельствах). Даже банальную валидацию на клиенте нужно дублировать на сервере.


danik.js 24.01.2015 22:32

Poznakomlus, ты пьян? Не бузи, иди проспись )

danik.js 24.01.2015 22:36

Ок, я тебе немного помогу:


Часовой пояс GMT +3, время: 10:22.