2012-06-25 43 views
6

Tùy thuộc vào định dạng của yêu cầu Symfony2 trả về phản hồi cùng loại (html, css, json, v.v.). Điều này rất đáng tin cậy. Nhưng nếu tôi tạo mẫu ở định dạng đã xác định và thực thi ký tự thoát trong ngữ cảnh đó, nhưng cuối cùng trang được hiển thị theo một định dạng khác, điều này sẽ không tạo ra nguy cơ tạo ra nguy hiểm?Hiển thị phản hồi theo định dạng được mong đợi

Ví dụ: http://symfony.com/it/doc/current/book/index.html?_format=json

Có nguy cơ vô tình tạo ra một nguồn lực có thể chứa lượng độc hại/bất ngờ không? Đây là cố ý? Tại sao?

Trả lời

6

Trong trường hợp tài liệu chính thức của Symfony2, tôi nghĩ rằng đó là cố ý. Nhưng nếu bạn thực hiện một mẫu trong một định dạng xác định và thực hiện các ký tự thoát trong bối cảnh đó, sau đó bạn có thể để thực thi các yêu cầu định dạng cho phép như sau:

article_show: 
    pattern: /articles/{culture}/{year}/{title}.{_format} 
    defaults: { _controller: AcmeDemoBundle:Article:show, _format: html } 
    requirements: 
    culture: en|fr 
    _format: html|rss 
    year:  \d+ 

Ví dụ này nêu bật những tham số _format định tuyến đặc biệt. Khi sử dụng tham số này, giá trị khớp sẽ trở thành "định dạng yêu cầu" của đối tượng Yêu cầu. Cuối cùng, định dạng yêu cầu được sử dụng cho những thứ như vậy, chẳng hạn như đặt Loại nội dung của phản hồi (ví dụ: định dạng yêu cầu json được dịch thành Loại nội dung của ứng dụng/json). Nó cũng có thể được sử dụng trong bộ điều khiển để hiển thị một mẫu khác nhau cho mỗi giá trị của _format. Tham số _format là một cách rất mạnh mẽ để hiển thị cùng một nội dung ở các định dạng khác nhau. Read more...

Các vấn đề liên quan