Tôi có một chỉnh sửa được thực hiện với lưỡi để chỉnh sửa một tài nguyên, như thế này:Laravel bảo vệ các trường ẩn hình thức và url
{{Form::model($post ,['action'=> ['[email protected]', 'id' => $post->id], 'method' => 'post'])}}
nào tạo ra một hình thức với hành động
http://example.com/posts/edit/123
Và lĩnh vực của tôi, có văn bản và đầu vào bị ẩn
Thấy url này, rất dễ dàng cho một người dùng có ý định xấu cập nhật các bài đăng khác.
Làm cách nào để bảo vệ tuyến đường không thực hiện được nếu id được thao tác với thanh tra viên? Có bất kỳ wat tích hợp nào để mã hóa id để đảm bảo rằng nó khớp không? Điều này cũng có thể được áp dụng cho tất cả các đầu vào bị ẩn không?
Cảm ơn
EDIT:
Một ví dụ về cách sử dụng các trường ẩn của tôi: bài viết của tôi nói chung là câu hỏi và câu trả lời, khi một người dùng cố gắng thêm một câu trả lời cho một câu hỏi, tôi đặt question_id như một ẩn lĩnh vực, và tôi muốn kiểm tra nó không phải là thao tác.
Ý của bạn là: http://laravel.com/docs/4.2/html#csrf-protection? –
Thay vì cố gắng bảo vệ URL của bạn, bạn nên bảo vệ dữ liệu của mình bằng cách xác thực và ủy quyền. Thay vì dựa vào người dùng không biết đúng URL, bạn nên kiểm tra thông tin đăng nhập và (nếu cần) quyền người dùng – lukasgeiter
Tôi đã làm điều này $ this-> abortIfLoggedUserCantEdit ($ post-> user-> id); Tôi chỉ muốn có một tính năng chung chung hơn. – SkarXa