Làm cách nào để đặt CSRF TOKEN trong Laravel?

Rất thường xuyên với một ứng dụng Laravel, bạn sẽ có một số loại CRUD [Tạo, Đọc, Cập nhật, Xóa]. Tất nhiên, điều này yêu cầu các biểu mẫu HTML và gửi dữ liệu từ giao diện người dùng đến bộ điều khiển mặt sau. Laravel sử dụng mã thông báo CSRF để thêm một lớp bảo mật khác trên ứng dụng web của bạn. Nếu mã thông báo CSRF bị thiếu trong quá trình gửi biểu mẫu hoặc tương tự như vậy, Laravel sẽ khiếu nại về điều đó

Trong phần hướng dẫn sau đây, chúng tôi sẽ khám phá một số cách khác nhau về cách bạn có thể đặt mã thông báo CSRF vào các trang của mình một cách hiệu quả

Phương pháp 1 – Thêm thẻ meta mã thông báo CSRF

Thêm mã thông báo CSRF vào phần đầu của HTML của bạn

Nói chung, phương pháp này sẽ được mã hóa vào tệp Bố cục/Tiêu đề hoặc tương tự

Thêm đoạn mã sau vào tập tin của bạn

Điều này sẽ mang lại kết quả như sau khi trang được hiển thị

Phương pháp 2 – Thêm trường nhập mã thông báo CSRF

Tiếp theo, nếu bạn gửi dữ liệu qua một biểu mẫu, Laravel sẽ thấy trường _token trong JSON được gửi tới bộ điều khiển. Mã thông báo này sẽ được xác thực cụ thể cho ứng dụng của bạn để tăng cường yêu cầu bảo mật trên nhiều trang web

Hãy lấy một hình thức


         
    Name
    
                
    Add Macro

Nếu biểu mẫu này đã được gửi, Laravel sẽ dừng yêu cầu vì không có mã thông báo CSRF nào

Tất cả những gì chúng ta cần làm là thêm cú pháp lưỡi Laravel sau

@csrf

Đúng, đơn giản vậy thôi

Vì vậy, đầy đủ điều này sẽ giống như sau


    @csrf
    Name 
    
    Add Macro 

Điều này sẽ mang lại một cái gì đó như sau


    
    Name
    
    Add Macro

 

Và bây giờ, khi biểu mẫu này được gửi, mã thông báo sẽ được xác thực thành công và dữ liệu sẽ chuyển đến bộ điều khiển một cách trôi chảy

Cross-Site Request Forgery [CSRF] là một kiểu tấn công được kẻ tấn công thực hiện để gửi yêu cầu đến hệ thống với sự trợ giúp của người dùng được ủy quyền và được hệ thống tin cậy.

Laravel cung cấp khả năng bảo vệ trước các cuộc tấn công CSRF bằng cách tạo mã thông báo CSRF. Mã thông báo CSRF này được tạo tự động cho mỗi người dùng. Mã thông báo này không là gì ngoài một chuỗi ngẫu nhiên được quản lý bởi ứng dụng Laravel để xác minh yêu cầu của người dùng

Cách sử dụng. Bảo vệ mã thông báo CSRF này có thể được áp dụng cho bất kỳ biểu mẫu HTML nào trong ứng dụng Laravel bằng cách chỉ định trường biểu mẫu ẩn của mã thông báo CSRF. Các yêu cầu được xác thực tự động bởi phần mềm trung gian CSRF VerifyCsrfToken

Có ba cách khác nhau để bạn có thể làm điều này

  1. @csrf
  2. csrf_field[]
  3. csrf_token[]

@csrf. Đây là một chỉ thị mẫu lưỡi dao để tạo trường nhập liệu ẩn trong biểu mẫu HTML

  • cú pháp.
      @csrf  // Generate hidden input field
      .....
      .....
    
  • Ví dụ




Chủ Đề