> PHP 프레임워크 > Laravel > 화이트리스트와 블랙리스트를 무시하는 Laravel 정보

화이트리스트와 블랙리스트를 무시하는 Laravel 정보

藏色散人
풀어 주다: 2020-07-25 13:16:23
앞으로
3825명이 탐색했습니다.

다음 튜토리얼 칼럼인 Laravel에서는 Laravel이 화이트리스트와 블랙리스트를 무시하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

화이트리스트와 블랙리스트를 무시하는 Laravel 정보

Difference

$fillable 허용 목록: 필드 삽입 허용 기본값: []
$guarded 블랙리스트: 필드 삽입이 허용되지 않습니다 기본값: ['*'] / /모든 필드를 블랙리스트 범인으로 설정 $fillable 白名单: 允许插入字段  默认为: []
$guarded 黑名单: 不允许插入字段 默认为: ['*']  //所有字段设置为黑名单 罪魁祸首

代码

$request->query->set('user_id', Auth::id());Comment::create( $request->all());
로그인 후 복사

这我钟爱的写法,能少写一个就不写两个代码。
当然会插入失败。

解决1

手动把所有字段设置加入到 protected $fillable = ['user_id','nickname',....];

不考虑这种写法,太麻烦了。

解决2

protectd $guarded = [];

这种写法才爽,因为默认所有字段都是黑名单,重置下就好了。

解决3

static $unguarded = true;

忽略 名单的验证。
解决2 一样舒服。

2和3的问题

要了解为什么需要 白名单黑名单,再做 2,3 的步骤。

并且能保证用户发送不了 破坏 系统的数据。
(比如我这个的user_id,用户发送user_id

🎜🎜Code 🎜rrreee🎜이것은 제가 가장 좋아하는 작성 방법입니다. 두 개가 아닌 하나의 코드를 덜 작성할 수 있습니다.
물론 삽입은 실패합니다. 🎜

🎜🎜해결책 1

🎜모든 필드 설정을 protected $fillable = ['user_id','nickname',....];🎜🎜에 수동으로 추가합니다. 쓰는 방법이 너무 귀찮다. 🎜

🎜🎜해결책 2

🎜protectd $guarded = [];🎜🎜이 방법을 작성하는 가장 좋은 방법은 기본적으로 모든 필드가 블랙리스트에 등록되어 있으므로 재설정하고 괜찮을 거예요. 🎜

🎜🎜해결책 3

🎜static $unguarded = true;🎜🎜black white 목록 확인 무시 .
해결책 2만큼 편안합니다. 🎜

🎜🎜2와 3의 문제

🎜화이트리스트블랙리스트가 필요한 이유를 이해하려면 2,3를 수행하세요. > 코드> 단계. 🎜🎜그리고 사용자가 시스템을 파괴하는 데이터를 보낼 수 없도록 보장할 수 있습니다.
(예를 들어 내 user_id의 경우 사용자가 user_id를 보내도 소용이 없습니다)🎜

위 내용은 화이트리스트와 블랙리스트를 무시하는 Laravel 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿