2015-11-11 15 views

Trả lời

27

phản ứng tự động thoát khỏi mọi thứ cho bạn.

nên ví dụ giả sử bạn có chuỗi

var htmlString = '<img src="javascript:alert('XSS!')" />'; 

này nếu bạn cố gắng để làm cho chuỗi này trong phản ứng

render() { 
    return (
     <div>{htmlString}</div> 
    ); 
} 

bạn có nghĩa là sẽ thấy trên trang toàn bộ chuỗi bao gồm các yếu tố <span> nhãn. aka trong trình duyệt, bạn sẽ thấy

nếu bạn xem html nguồn bạn sẽ thấy

<span>"<img src="javascript:alert('XSS!')" />"</span> 

Here is some more detail on what an XSS attack is

Phản ứng về cơ bản làm cho nó, do đó bạn không thể chèn đánh dấu trừ khi bạn tạo các yếu tố tự trong hàm render ... được nói rằng chúng có chức năng cho phép hiển thị như vậy gọi là dangerouslySetInnerHTML ... here is some more detail about it

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