Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel是否安全地从ID请求数据?_Php_Database_Laravel_Laravel 5 - Fatal编程技术网

Php Laravel是否安全地从ID请求数据?

Php Laravel是否安全地从ID请求数据?,php,database,laravel,laravel-5,Php,Database,Laravel,Laravel 5,我有一个关于Laravel路由系统的问题。通常,当我创建控制器时,Laravel会自动构建一些“标准”函数,如索引、创建、显示等。这些函数的大部分通常需要资源的ID,但我不确定这是否是最好(也是安全的)方法 例如,Laravel创建此函数: /** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { // } 我知道$

我有一个关于Laravel路由系统的问题。通常,当我创建控制器时,Laravel会自动构建一些“标准”函数,如索引、创建、显示等。这些函数的大部分通常需要资源的ID,但我不确定这是否是最好(也是安全的)方法

例如,Laravel创建此函数:

 /**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function show($id)
{
    //
}

我知道$id意味着“可以用来指示资源的一切”,因此我可以使用其他数据库字段(例如slug),但是它必须指向相同的数据……那么这两种方法之间的区别是什么

如果您愿意,您可以在运行某些方法之前对用户进行身份验证(使用cookie和会话)。如果还有其他问题,您可以限制您期望的输入和输出类型。这一切都取决于您的系统架构。这是一个很好的建议,我将遵循它。这实际上取决于您所说的不安全。在mysql中,每次创建新记录时,主键通常递增1。这意味着给定表中最多只能有一条记录具有相同的主键。唯一不安全的情况是,如果用户试图传递属于非他们数据的id。这取决于您,为了确保用户无法访问其他用户的数据,您使用的主键实际上与此无关。