通过控制台

时间:2015-11-16 12:28:23

标签: javascript java jquery twitter-bootstrap jsp

我正在使用java servlets和jsp创建一个网站,我的一个要求是,如果任何匿名用户试图访问任何需要身份验证/登录的页面,则模式应该出现在页面上方,并且模式无法关闭,直到您登录或者注册(如同quora一样)。所以我通过检查每个jsp中的session属性来检查用户是否已登录,如果session属性不存在,我将使用java脚本显示使用backdrop = static的登录模式。

我有一个查询,如果有人通过控制台隐藏登录模式,该怎么办? $("#id")。modal(" hide")(因为我正在使用bootstrap模态)。无论如何我可以处理这个或者我必须在后端处理这个吗?

2 个答案:

答案 0 :(得分:1)

你应该在后端处理它,因为所有用户都可以禁用javascript,而是这样做:

if(loggedIn)
    //show content for authenticated users

else
    // display the login form

<强>更新

在此PHP Fiddle - 点击RUN以显示结果 - 它与上述相同,但在PHP中,如果您将$loggedIn的值更改为{{ 1}}它会显示需要身份验证的内容,如果true$loggedIn,则会显示登录表单

答案 1 :(得分:0)

我想你可以为hide事件分配一个事件处理程序。

http://getbootstrap.com/javascript/#modals-events

$('#id').on('hide.bs.modal', function (e) {
  // if some condition, dont let them hide it
})

但是如果用户可以通过调用这个js来获取他们不想要的东西,他们也可以只检查dom并删除这个html元素。

拥有这样的代码可以帮助人们保持诚实,但如果出现安全问题,我也会确保在服务器上处理它。