你好,我用laravel和passport开发了一个rest api。。我如何知道我的应用程序是否安全?我认为api是安全的,因为我使用passport中的令牌,并且对于每个请求,我都必须发送我的令牌来访问数据。我问这个问题是因为我发现,如果有人键入url,比如myserver/env,他可以看到包含所有数据的env文件(数据库连接(。从htaccess我阻止了它,但我在这里问我是否必须做更多的事情来保护它。谢谢你的时间!!
首先,您不应该让每个人都可以读取您的.env文件。您应该限制访问权限,以便只有服务器才能执行该文件0111
。
其次,在您的.htaccess
中添加以下内容:
<Files .env>
Order allow,deny
Deny from all
</Files>
第三,如何通过URL访问文件?公用文件夹应该是映射的目录。
参考:如何使用文件权限保护laravel中的.env文件?
public
的文件夹,它是唯一需要指向虚拟主机的文件夹。其他文件夹不应该是公共的,这就是包括.env
文件在内的配置文件的保密方式。
Nginx配置文件示例:
server {
listen 80;
server_name example.com;
root /var/www/example.com/my_laravel_app/public; # Here we pointed the host example.com to the laravel's public folder
index index.php;
...
关于部署Laravel应用程序的更多信息:
https://laravel.com/docs/7.x/deployment
以下是Laracon EU关于保护Laravel应用程序的精彩演讲:
https://www.youtube.com/watch?v=kKGGVGiq2y8