Pinkie
то, что вы должны делать, а не делать эту проверку на стороне клиента, никогда не будет отображаться кодом, предназначенным только для платных пользователей на стороне клиента, как и другие пользователи, это накладывает серьезные уязвимости в безопасности, поскольку это очень просто купите запросы ajax с помощью только консоли firebug.
Аналогичным образом, только «скрывающая» разметка не собирается сокращать ее для вас, поэтому display:none;
не выполнит ничего в обеспечении безопасности вашего сайта.
То, что я бы рекомендовал, это два раза: во-первых, даже не делайте javascript на клиенте, который не предназначен для пользователя, который посещает. В этом случае вы даже можете подумать о вызове метода частичного действия, который решает, нужно ли отображать код js для клиента в зависимости от учетных данных пользователя.
Во-вторых, на стороне клиента существует только так много, это означает: каждый отдельный метод на стороне сервера, чувствительный к учетным данным пользователя, должен убедиться в том, что пользователю действительно разрешен доступ к этой функции , а не просто догадываться, что, если он получил доступ к этому методу, он должен быть.
Update
В случае, если вы упоминаете, где вы оказываете диалог JQuery UI, пока кнопки указывают на функциональность Тхата проверяет на стороне сервера, что пользователь, который он утверждает, что то, вы «безопасны» (хотя это не самый чистый код на земле); что вы действительно должны делать, это отображать эти кнопки на основе того, имеет ли пользователь требуемые учетные данные.
Вместо проверки того, имеют ли они требуемые учетные данные в вашем вызове ajax, вы должны сделать запрос для извлечения части HTML/JS, которую вы собираетесь выполнять.
Вы должны быть уверены, что ваш веб-сервер не возвращает ничего, что пользователь не сможет увидеть. Это означает только возврат данных, связанных с этими «определенными функциями» после того, как пользователь уже был проверен как имеющий доступ. – nnnnnn
FYI, эта строка кода '$ ('# button'). On (function() {' нуждается в событии (предположим, что вы имели в виду клик), чтобы это было так: '$ ('# button'). On (' click_, function() {'. – jfriend00
@jfriend, это была опечатка. Я исправил ее. – Pinkie