簡體   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