![](/img/trans.png)
[英]Change variable in PHP script and run function again, without reloading page
[英]PHP- How to make it so someone can't change parameters in url and dont run script again on refresh on a page?
我有一個頁面,在付款后所有用戶都會被定向到該頁面,並且該頁面中有PHP代碼可發送確認電子郵件和某些其他任務。 因此,我不希望用戶能夠刷新該頁面以便再次運行該腳本,並且我也不希望他們能夠更改url中的參數,例如:www.idk.com?name=eij&age = 39我之前曾做過這項工作,但是那時候我只能使用2頁
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
並使用了if用戶來自...然后運行腳本,如果他們刷新,它將無法運行,也無法更改url。 問題是我用此代碼制作了第3頁,但該網址不再顯示了,沒有找到Nog http Referer。
我真的需要這個來工作,我希望任何人都可以幫助我
付款后避免兩次加載同一頁面的一種方法是:
為此,您需要一個唯一的標識符並驗證付款是否合法,這取決於您的付款提供商。
聽起來像是設計問題。
快速修復:
使用POST
而不是GET
可以防止人們更改參數,並在完成操作后將其重定向到新頁面或沒有POST
參數的頁面。
您可以調查校驗和,以便可以驗證請求是否來自您的站點。
它就像
$checksum = md5(json_encode($array));
只要確保您在數組中有一些秘密元素即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.