我有一个建立在 laravel 上的应用程序,在本地它一切正常,但在服务器中它不能正常工作。
该应用程序托管在 nginx 上,PUT、POST、DELETE 请求能够向 API 发送授权标头,GET 请求除外。
这让它很奇怪,因为我知道在 apache 上您需要允许 Authorization 标头,而在 nginx 上则不需要。
我也调试了当我调用路由时Route::get('reports/{amount}','ReportsController@show');
授权头没有到达 API 但它确实存在于请求头中。
当我将路由方法更改为 POST 时:
Route::post('reports/{amount}','ReportsController@show');授权标头到达 API。
这是服务器的 nginx 配置:
server {
listen 80;
listen [::]:80;
client_max_body_size 10M;
#add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Frame-Options 'allow-from https://www.someweb.com';
add_header X-Frame-Options 'allow-from https://www.someweb.com';
add_header X-Content-Type-Options nosniff;
add_header 'Referrer-Policy' 'strict-origin';
add_header X-XSS-Protection "1; mode=block";
root /var/www/html;
index index.html index.htm index.nginx-debian.html, index.php;
error_page 404 /404.html;
include snippets/fastcgi-php.conf;
location …Run Code Online (Sandbox Code Playgroud) 我想知道 laravel 中有没有办法通过开发者工具检查不显示 id 源我有这个表格
{!! Form::model($data, ['route' => ['data.edit',$data->id], 'method' => 'get']) !!}
{{ Form::submit('Edit', array('class' => 'btn btn-info')) }}
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)
通过检查,用户可以看到像这样的 id 之类的所有表单,并将一个元素 id 更改为另一个元素 id,然后单击,他将编辑更改后的元素?有什么解决办法吗?
我只是检查该数据条目是否属于控制器中的用户,因此至少用户无法删除或更改不属于他的条目,但这不是我想要的解决方案。