我有这个表单在Localhost上工作但是当我上传到我的共享主机时,他们会抛出 VerifyCsrfToken.php第67行。
这里是代码:
<form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}">
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
<label for="password" class="col-md-4 control-label">Password</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control" name="password">
@if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<div class="checkbox">
<label>
<input type="checkbox" name="remember"> Remember Me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
<i class="fa fa-btn fa-sign-in"></i> Login
</button>
<a class="btn btn-link" href="{{ url('/password/reset') }}">Forgot Your Password?</a>
<a href="{{ url('/auth/facebook') }}">FB Login</a>
</div>
</div>
</form>
我在{head}标签中添加了<meta name="csrf-token" content="{{ csrf_token() }}" />
,但它不起作用。令牌没问题,当我使用Google Chrome Inspector进行检查时,表单上会显示该令牌。如果有人可以提供帮助,我真的被困在这里。
答案 0 :(得分:1)
检查您的会话目录以获取正确的权限,这可能会有所帮助。
rm -f {your_web_app}/storage/framework/sessions/*
答案 1 :(得分:1)
您在会话存储方面遇到问题
解决方案1 :使用数据库会话驱动程序而不是文件会话驱动程序
- 在.env
SESSION_DRIVER=database
- 运行命令
php artisan session:table
- 然后
php artisan migrate
再次测试
解决方案2 :继续使用文件会话驱动程序。确保您拥有存储文件夹的写入权限。尝试
chmod 755 -R storage
答案 2 :(得分:0)
我正在使用这种方法。
<input type="hidden" name="_token" value="{{ session()->getToken() }}">
在您的视图刀片中。