Size: a a a

2020 March 30

А

Алексей in pro.js
Гайз, есть такая задача, как создать интернет магазин для пользования внутри компании. Есть некий админ, который будет начислять бонусы обычным юзерам, а юзеры могут купить на эти бонусы что-либо (сотрудникам за их хорошую работу начисляются бонусы, а за плохую - снимаются).

Решил написать такую штуку с нуля с нодой на бэке (особо не шарю, но буду разбираться). У меня вопрос по поводу безопасности.

Первый вариант: у меня хранится разметка страницы на бэке и при авторизации пользователя я ему показываю определенную разметку в зависимости от роли

Второй вариант: вся разметка на фронте (например как обычная строка в джс) и я делаю запрос на сервер и при получении роли пользователя я показываю ту или иную разметку (но этот вариант наверное самый худший с точки зрения безопасности)

Как лучше это сделать? Одним местом чую, что тут с безопасностью приложения в обоих вариантах будут большие проблемы.

И вопрос по поводу начисления баллов. Админ начисляет некоторые баллы и я буду делать запрос на сервер вида /addpoints/username/20 (или что-то вроде этого) и на сервере добавлять в бд баллы. Но тогда абсолютно любой может заюзать этот запрос и добавить кому угодно сколько угодно баллов. Как решить эту проблему?
источник

CB

Charlie Branson in pro.js
источник

CB

Charlie Branson in pro.js
Random Balance
Кстати, всё равно поведение твоей функции отличается от оригинала, попробуй передать массив с дыркой и увидишь разницу.
так норм? или криво?)
источник

RB

Random Balance in pro.js
Charlie Branson
Так ты не добавил никакую проверку.
источник

RB

Random Balance in pro.js
Знаешь что такое массивы с дырами?
источник

CB

Charlie Branson in pro.js
Random Balance
Знаешь что такое массивы с дырами?
там где андефайнды?
источник

RB

Random Balance in pro.js
Charlie Branson
там где андефайнды?
Там не просто значения нет, там и ключа нет. И это нужно проверять.
источник

RB

Random Balance in pro.js
источник

RB

Random Balance in pro.js
Charlie Branson
там где андефайнды?
Ну и кстати там не андефайнды, там именно что пустота. Просто место занимает в массиве:
Object.values([1, 2, , 4]);
[1, 2, 4]

Object.values([1, 2, undefined, 4]);
[1, 2, undefined, 4]
источник

S

Syntax Highlight Bot in pro.js
Random Balance
Ну и кстати там не андефайнды, там именно что пустота. Просто место занимает в массиве:
Object.values([1, 2, , 4]);
[1, 2, 4]

Object.values([1, 2, undefined, 4]);
[1, 2, undefined, 4]
источник

CB

Charlie Branson in pro.js
кстати да, forEach синтаксическую ошибку выдаёт на массив с дырами
источник

CB

Charlie Branson in pro.js
мой аналог - нет
источник

RB

Random Balance in pro.js
Charlie Branson
кстати да, forEach синтаксическую ошибку выдаёт на массив с дырами
Нет. 👀
источник

RB

Random Balance in pro.js
Charlie Branson
кстати да, forEach синтаксическую ошибку выдаёт на массив с дырами
Покажи что за ошибка.
источник

CB

Charlie Branson in pro.js
источник

CB

Charlie Branson in pro.js
источник

RB

Random Balance in pro.js
Charlie Branson
Вот почему надо всегда ставить ; в конце выражения. 😂
источник

CB

Charlie Branson in pro.js
омг
источник

RB

Random Balance in pro.js
Он думает что ты обращаешься к элементу массива.

()[1,2,,4]
источник

CB

Charlie Branson in pro.js
источник