गो टेम्प्लेट में HTML और JSON से बचना
गो टेम्प्लेट में, अनपेक्षित पलायन को रोकने के लिए HTML और JSON को ठीक से संभालना आवश्यक है। निम्नलिखित टेम्पलेट पर विचार करें:
{{ .SomeOtherHTML }}
यदि आप उम्मीद करते हैं कि आउटपुट केवल
<the_other_html/<
HTML एस्केपिंग के लिए समाधान
इसे रोकने के लिए, आपको HTML कोड को एक स्ट्रिंग के बजाय टेम्पलेट.HTML प्रकार के रूप में पास करना चाहिए। template.HTML एक विशेष प्रकार है जो गो को इसकी सामग्री से बचने का निर्देश देता है। उदाहरण के लिए:
tpl := template.Must(template.New("main").Parse(`{{define "T"}}{{.Html}}{{.String}}{{end}}`))
tplVars := map[string]interface{} {
"Html": template.HTML("Paragraph
"),
"String": "Paragraph
",
}
tpl.ExecuteTemplate(os.Stdout, "T", tplVars)
JSON एस्केपिंग के लिए समाधान
यदि आपको भी JSON रेंडर करने की आवश्यकता है, तो आपको json का उपयोग करना चाहिए। मार्शल इसे बाइट सरणी में परिवर्तित करने का कार्य करता है। यह गो को JSON सामग्री से बचने से रोकता है। उदाहरण के लिए:
jsonBytes, _ := json.Marshal(data)
outputString := string(jsonBytes)
इन सर्वोत्तम प्रथाओं का पालन करके, आप अपने गो टेम्पलेट्स में HTML और JSON का उचित निकास सुनिश्चित कर सकते हैं, जिसके परिणामस्वरूप अनपेक्षित संशोधनों के बिना वांछित आउटपुट प्राप्त हो सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3