我有两条路线
Route::post('checkout','CartController@billingSave');
Route::get('success','CartController@billingSave');
因此,在完成billingSave方法后,它将重定向到成功页面。
但是如果把/成功也放在url中它也会显示成功页面..虽然他没有完成付款..但是在完成billingSave功能之后我还是只能访问success
url?< / p>
意味着他无法访问成功网址而不是完成billingSave方法..或者不要让他访问success
网址?
答案 0 :(得分:3)
您可以使用laravel的中间件https://laravel.com/docs/5.4/middleware阻止成功路由您可以编写自己的中间件来检查billingSave是否已完成。
答案 1 :(得分:0)
更改以下路线:
Route::get('success','CartController@billingSave');
到
Route::post('success','CartController@billingSave');
因此用户无法在浏览器中使用success
路径直接访问它,不要忘记在此处显示错误页面。它只能通过表单发布方法访问。保存数据后,将表单提交到success
路由。