我有一個相當具體的問題。調用REST API來在票據系統中創建問題的PHP腳本應該只能調用一次
我正在爲我們公司的員工註冊程序編寫一個應用程序。在多種形式的過程中,收集有關新員工需求的數據並將其輸入到MySQL數據庫中。
最後一步,一個PHP腳本獲取這些信息,並通過cURL在我們的JIRA票證系統(通過REST API)中創建多個票證。
執行cURL調用的網頁也在之後呈現結果,即鏈接到創建的票證。如果有人點擊一個鏈接,然後決定按下瀏覽器的「後退」按鈕,整個腳本將再次運行。
如何有效防止這種情況?我已經有了一些想法,但其中沒有一個看起來很合適:
- 在數據庫中創建更多信息,即每個故障單的狀態,然後在決定運行cURL調用之前查詢該信息。
- 不要讓按下後退按鈕,通過JS來達到腳本(實際上這個想法是完全垃圾,但我仍然會把它留在這裏)
- 不允許用戶調用腳本,而是讓表單發送一封電子郵件給我,信息已輸入,以便我可以自己運行腳本。每次...
我請你原諒這不是一個「確切」的問題,而是更多的最佳做法。雖然在我的愚見中,這是論壇所需要的,而不是你可以在任何文檔中閱讀的東西。
問候
你可以使用一個頭的用戶從不會捲曲請求,做票 – RamRaider
的顯示或者,正如你不能真正阻止頁面(接收響應後)腳本重定向離開用戶使用瀏覽器歷史來回移動,您可以在提交完成後設置會話值,並且如果該會話值存在,則不會處理curl請求,而是顯示與該會話值相關的任何記錄 – RamRaider