2010-12-15 21 views
6

मैं here पाया निम्न सिंटैक्स:<%=h ... %> रेल में क्या मतलब है?

<%=h @person.first_name %> 

क्या h साधन करता है?

+0

मैंने थोड़ी देर में इसके साथ काम नहीं किया है, लेकिन मेरा मानना ​​है कि इसका मतलब है "HTML स्वरूपण को छोड़ दें"। –

उत्तर

11

यह क्रॉस-साइट-स्क्रिप्टिंग से बचने के लिए टैग के आउटपुट से बचने के लिए है। रेल 3 में, इसे स्ट्रिंग के लिए डिफ़ॉल्ट में बदल दिया गया है (इसलिए इस स्ट्रिंग से बचने के बजाए, आप कहते हैं, यह एक सुरक्षित स्ट्रिंग है)।

http://api.rubyonrails.org/classes/ERB/Util.html#method-c-h

+0

बहुत बहुत धन्यवाद! –

4

ज रेल में html_escape विधि के लिए अन्य नाम है।

यदि आप एच का उपयोग करके पाठ से बच नहीं पाते हैं, तो कोई वहां जावास्क्रिप्ट लिख सकता है और जब आप पृष्ठ प्रस्तुत करते हैं तो इसे निष्पादित किया जाएगा।

इसलिए यदि आप सुनिश्चित नहीं हैं कि आप जो डेटा प्रदर्शित कर रहे हैं वह बिल्कुल सुरक्षित है, तो उसे HTML टैग वर्णों से बचने वाले फ़िल्टर के माध्यम से चलाएं।

संबंधित मुद्दे