0

在向现有 PHP 应用程序添加一些 js 网格时,我遇到了以下问题......

在站点的一个部分中,我需要向不同的用户角色显示不同的内容。我可以在 PHP 应用程序中使用一个简单的预构建方法来检查他们的角色,但是我需要告诉 JS 方面的角色是什么,以便它可以显示正确的内容。

我的第一个想法是在隐藏的 div 中将角色写入 dom,然后检索它以在 JS 中使用:

<?php echo '<div id="user_role" style="display:none">5</div>'; ?>

然后...

var user_role = $('#user_role').text();

但显然这不是一个好主意,因为任何有权访问的人都可以操纵 dom 中的值并将其设置为他们喜欢的任何值。所以我的问题...

在这种情况下,设置用户角色以使用 javascript 的最佳方法是什么?

4

3 回答 3

2

这里真正的答案是用户可以在 javascript 中操作的客户端上的任何内容,因此您最好只使用您的 php.ini 显示特定于服务器端用户的内容。

此外,如果您沿着上面显示的路线前往哪里,您不需要遍历所有代码,您可以简单地使用下面的代码,无需绕过房屋将其添加到 dom。

var user_role <?php echo(5); ?>
于 2011-12-29T22:40:13.340 回答
2

在客户端设置用户角色没有任何问题,只要它只是出于演示目的(例如,更改 UI 的颜色或隐藏/显示某些容器),并且在客户端更改角色不会导致额外的数据被显示。

不言而喻,用户角色的实际设置——以及用户获得或看不到的任何决定——必须在服务器上进行。

于 2011-12-29T22:41:10.090 回答
0

您可以让 JQuery 在运行时询问服务器角色需要是什么......

$.get('mysite/get_role.php', function(data) {
  var user_role = data;
  alert('User Role is ' + user_role);
});
于 2011-12-29T22:55:28.560 回答