2014-09-22 3 views
1

Я не мог придумать лучшего заголовка, после прочтения вопроса вы можете предложить лучший. Также вы можете предложить несколько лучших тегов, я не смог найти web-development.Риски в базе данных и интерфейсной муфте

Я студент, поэтому я не знаю стандартного способа достижения следующей проблемы.

Обычно я устанавливаю идентификаторы элементов (div, span, tr и т. Д.) В соответствии с базовым ключом базы данных, чтобы легко ссылаться на нее позже.

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

Но я думаю, что его плохая идея, так как каждый может использовать Осмотреть Element или Dev Tools и изменить идентификатор.

Каков стандартный способ достижения этого?

EDIT 1
Я знаю, что web browser wont enforce the security policy for me именно поэтому я прошу стандартным способом, или стандартные методы для использования этого вещества.

+2

Не ожидайте, что веб-браузер выполнит вашу политику безопасности - правильное место для решения этих проблем в вашем промежуточном программном обеспечении или на уровне данных. Предположим, что есть вредоносные пользователи, которые могут обрабатывать любой HTTP-запрос, на который ваш сервер может ответить (есть, и они будут). – BadZen

+0

Тем не менее, если вам нужна глубокая интеграция между вашим документом и элементами данных, подумайте о создании слоя данных на стороне браузера и использовании обычных свойств javascript для сопоставления с представлениями. В противном случае использование идентификаторов документов - OK-ish. – BadZen

+0

@BadZen извините, но я не знаю о создании слоя данных на стороне браузера. Знаете ли вы, что знаете блоги, вики и любой сайт, где я могу больше узнать об этом? – Harry

ответ

2

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

Если вы considere id являются частным (довольно необычным требованием), вы могли бы вместо того, чтобы просто использовать порядок строк и сохранить на сервере сессии таблицу row_order < ->id.

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

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