Laravel应用Heroku部署后登录报错(419页面过期+安全提示)求助
问题解决方案
1. 浏览器提示提交信息不安全
原因
当前站点使用HTTPS协议,但表单action属性指定的是HTTP协议地址,属于混合内容,浏览器会判定提交路径存在安全风险。
修复方式
将表单的action改为HTTPS协议地址,或使用相对路径/Laravel路由助手:
- 硬编码HTTPS地址:
action="https://ipd-kiu.herokuapp.com/loginprocess" - 相对路径(推荐,避免域名变更问题):
action="/loginprocess" - Laravel路由助手(需先给路由命名):
action="{{ route('loginprocess') }}"
2. 419 PAGE EXPIRED错误
原因
Laravel默认启用CSRF保护机制,所有POST请求必须携带有效的CSRF令牌,你的表单未包含该令牌,导致框架验证失败。
修复方式
在<form>标签内部添加CSRF令牌字段:
- 若使用Blade模板,直接添加
@csrf指令:
<form action="/loginprocess" method="POST"> @csrf <!-- 表单其他内容 --> </form>
- 手动添加隐藏字段(非Blade场景):
<input type="hidden" name="_token" value="{{ csrf_token() }}">
修改后的完整表单示例(Blade版本)
<form action="/loginprocess" method="POST"> @csrf <div class="form-group row"> <label for="email_address" class="col-md-4 col-form-label text-md-right">E-Mail Address</label> <div class="col-md-6"> <input type="text" id="email_address" class="form-control" name="email" required> </div> </div> <div class="form-group row"> <label for="password" class="col-md-4 col-form-label text-md-right">Password</label> <div class="col-md-6"> <input type="password" id="password" class="form-control" name="password" required> </div> </div> <div class="col-md-6 offset-md-4"> <button type="submit" class="btn btn-primary"> Login </button> </div> </form>
内容的提问来源于stack exchange,提问作者Muhammad Ali Shah
相关产品推荐
相关产品推荐

