這與編碼本身并沒有真正的關系,我的項目是在 Laravel 7.1 中,但更多的是在 Outlook 的安全測量中?;旧衔矣幸粋€功能可以發送一封包含按鈕的電子郵件,它是一個帶有令牌的鏈接和我的 Laravel 項目中執行某些操作的路由(在本例中,確認取消約會)。單擊該按鈕時,它會將用戶重定向到一個顯示消息的頁面,該頁面顯示約會已成功取消或令牌已過期(因為執行操作一次最終會從數據庫中刪除令牌,因此請嘗試再次執行此操作將失敗并顯示消息)。這在測試環境中按預期工作,單擊 Gmail 中的相同按鈕或復制并粘貼瀏覽器地址欄中的鏈接。但是對于 Outlook 及其帶有安全鏈接保護的屏蔽鏈接,無法正常工作,單擊該按鈕后,它會將用戶重定向到過期的令牌消息,但操作已按預期執行。發生這種情況是因為 safelink 正在訪問該鏈接并在讓用戶打開新選項卡之前檢查它是否安全,問題是“假”訪問正在使我的應用程序執行它通常應該執行的操作:(它取消了基于該令牌,并從數據庫中刪除令牌),因此當用戶被重定向時,這被視為對該鏈接的第二次訪問,并且用戶輸出的是過期令牌消息,這當然是誤導性的。這基本上是任何一次使用鏈接的問題,并且可能會影響其他應用程序。這是 Microsoft 最近的一項更改,因為它在幾個月前就開始工作了,safelink 并不是什么新東西,但他們引入了新的安全功能。其他郵件提供商也可能會發生這種情況,但我只是用 Gmail 進行了測試,它沒有做同樣的事情并且它有效。所以我真的不知道我能做些什么來解決這個問題,有沒有辦法檢測點擊是否來自真實用戶或其他什么?Laravel 是否采取措施來克服這個問題?
單擊電子郵件中的 Outlook 安全鏈接保護鏈接似乎執行了兩次代碼
ibeautiful
2023-04-23 17:37:36