繁体   English   中英

通过控制台关闭引导程序模式

[英]Closing bootstrap modal through console

我正在使用Java Servlet和JSP创建网站,我的要求之一是,如果任何匿名用户尝试访问任何需要身份验证/登录的页面,则该模式应出现在页面上方,并且该模式只有在您登录或注册后才能关闭(如法定人数)。 因此,我通过检查每个jsp中的session属性来检查用户是否已登录,并且如果不存在session属性,我将使用java脚本显示background = static的登录模式。

我有一个查询,如果有人使用$(“#id”)。modal(“ hide”)通过控制台隐藏登录模式,那该怎么办(因为我正在使用引导模式)。 无论如何,我可以处理这个问题,还是必须在后端解决这个问题?

您应该在后端照顾它,因为毕竟所有用户都可以禁用javascript,而改为这样做:

if(loggedIn)
    //show content for authenticated users

else
    // display the login form

更新:

就像这个PHP小提琴一样 - 点击RUN以显示结果 -与上面的想法相同,但是在PHP中,如果将$loggedIn的值更改为true ,它将显示需要身份验证的内容,如果$loggedInfalse ,则将显示登录表单

我想您可以将事件处理程序分配给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元素。

拥有这样的代码可以帮助人们保持诚实,但是如果遇到安全问题,我也将确保在服务器上也进行处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM