HTML-Required & ldquo; bug & rdquo; [Дубликат]

Вы можете написать серверный скрипт, который объединяет все файлы в каталоге и отправляет его клиенту, а затем помещает скрипт в тег <link>.

Однако будьте осторожны с синтаксисом ошибки.

15
задан Sam 18 August 2014 в 13:32
поделиться

7 ответов

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

Если вы говорите, что вы отправляете что-то вроде идентификатора пользователя, и вы хотите, чтобы возвращаемое значение не было незаконно изменено, а самый простой способ сделать это, вероятно, сгенерировать и отправить UUID рядом с ним, а также проверить на возврат, что значение uuid, сопоставленное, которое хранится на сервере для userID перед дальнейшей обработкой.

Что касается реальных уязвимостей обработки на стороне сервера: - вы должны просто всегда создавать свои права на безопасность / разрешения как можно ближе к базе данных, поскольку вы может и вызывающе не в клиенте. Нет ничего другого в сценарии, который вы начертите из любого нормального дизайна клиент-сервер.

1
ответ дан Cruachan 28 August 2018 в 11:55
поделиться

Все, что на стороне клиента может быть подделано. Если вы используете какой-либо секретный ключ + подпись параметра, ваш алгоритм подписи должен быть достаточно случайным / безопасным, чтобы он не мог быть обратным инженером.

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

6
ответ дан Dan McClain 28 August 2018 в 11:55
поделиться

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

Необходимо создать механизм разрешений на стороне сервера чтобы предотвратить нежелательные действия, вы можете определить группы пользователей, а не индивидуальный уровень пользователя, это упростит.

15
ответ дан Haim Evgi 28 August 2018 в 11:55
поделиться

Что бы вы сделали, чтобы свести к минимуму взлом в этом случае?

Вы не можете работать с использованием методов проверки на стороне сервера.

Более простой способ проверки заключается в добавлении другого параметра для каждой функции javascript, этот параметр должен быть сигнатурой между предыдущими параметрами и секретным ключом. Как хорошо звучит решение выше для вас?

И как вы используете секретный ключ, если клиент не видит его? Как вы уже упоминали ранее, пользователь легко может манипулировать вашим javascript, а также он может читать все в javascript, секретный ключ тоже!

Вы ничего не можете скрыть в JavaScript, единственное, что вы можете сделайте это, чтобы скрыть вещи в JavaScript, и надеюсь, что никто не попытается выяснить, что вы пытаетесь скрыть.

4
ответ дан jigfox 28 August 2018 в 11:55
поделиться

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

Все, даже ваш исходный код javascript виден клиенту и может быть изменен ими, это не так.

2
ответ дан Mongus Pong 28 August 2018 в 11:55
поделиться

Peter от Teamworkpm.net здесь - я один из главных разработчиков и был обеспокоен встречей этого отчета о проблеме безопасности. Я проверил это, и я счастлив, что невозможно удалить задачу, к которой у вас не должно быть доступа.

Появляется сообщение «У вас нет разрешения на удаление этой задачи».

Я думаю, что это просто путаница между тем, чтобы быть Администратором Проекта и быть полным Администратором, который является проблемой здесь: - Вы не можете быть участником проекта, но как общий администратор, у вас все еще есть разрешение на удалите любую задачу на своем сайте Teamwork.

Мы очень серьезно относимся к безопасности, и все это реализовано на стороне сервера, потому что, как говорит Jens F, мы не можем отвечать на защиту на стороне клиента.

по любым вопросам в TeamworkPM, которые вы хотели бы обсудить, мы призываем любого из вас просто нажать ссылку обратной связи, и вы обычно получите ответ в течение нескольких часов.

1
ответ дан Peter Coppinger 28 August 2018 в 11:55
поделиться

Невозможно полностью сделать это на стороне клиента. Если у человека есть действительный файл cookie, он может обрабатывать любые запросы, которые они хотят, независимо от кода на странице и отправлять его на ваш сервер. Вы можете делать что-то с другими зашифрованными кукисами, которые должны быть отправлены обратно с запросом, а также должны соответствовать входам на странице, но вам все равно нужно проверить эту серверную сторону. Безопасность на стороне сервера имеет важное значение для защиты вашего приложения от несанкционированного доступа, и вы должны убедиться, что на стороне сервера каждое выполняемое действие является тем, которое пользователь имеет право выполнять.

1
ответ дан tvanfosson 28 August 2018 в 11:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: