मेरे पास Rails3 द्वारा लिखी गई साइट है। मेरे पोस्ट मॉडल में "सामग्री" नामकरण एक टेक्स्ट कॉलम है। पोस्ट पैनल में, एचटीएमएल फॉर्म tinymce के साथ textarea फ़ील्ड में "सामग्री" कॉलम सेट करता है। सामने वाले पृष्ठ में, tinymce का उपयोग करने के कारण, post.html.erb कोड को <%= raw @post.content %>
जैसे कच्चे विधि के साथ कार्यान्वित करने की आवश्यकता है।मैं tinymce के साथ Rails3 का उपयोग कर रहा हूँ। उपयोगकर्ता को बंद ब्राउज़र जावास्क्रिप्ट कैसे इनपुट xss प्रस्तुत करने के लिए?
ठीक है, अब अगर मैं ब्राउज़र जावास्क्रिप्ट बंद करता हूं, तो यह टेक्स्टरेना बिना टिनिमस के टाइप कर सकता है, और शायद उपयोगकर्ता <script>alert('xss');</script>
जैसे किसी भी xss को इनपुट करेगा। मेरा मोर्चा उस अलर्ट बॉक्स को दिखाएगा।
मैं पोस्ट्स कंट्रोलर में sanitize(@post.content)
पर आज़माता हूं, लेकिन sanitize विधि एक दूसरे के साथ tinymce शैली फ़िल्टर करेगा। उदाहरण के लिए, <span style='color:red;'>foo</span>
<span>foo</span>
बन जाएगा।
मेरा प्रश्न है: एक ही समय में xss इनपुट और रिजर्व टिनिमस शैली को फ़िल्टर कैसे करें?