क्या आपके डेटाबेस में डेटा वास्तव में एचटीएमएल है या क्या यह एक ऐसा नाम या टिप्पणी है जो आपको पता है कि एक HTML पृष्ठ के हिस्से के रूप में समाप्त हो जाएगा?
यह आवेदन डेटा है, तो मुझे लगता है कि अपने सबसे अच्छे रूप को:
- एक रूप में यह स्वीकार करते हैं कि पर्यावरण के मूल निवासी (जैसे unencoded डेटाबेस में), और
- सुनिश्चित करें कि अपनी ठीक से अनुवादित क्योंकि यह प्रतिनिधित्व सीमाओं को पार करता है (जब आप HTML पृष्ठ उत्पन्न करते हैं तो एन्कोड करें)।
यदि आप एमवीसी के प्रशंसक हैं, तो यह मॉडल/(लगातार स्टोरेज प्रारूप से) दृश्य/नियंत्रक को अलग करने में भी मदद करता है।
प्रतिनिधित्व
उदाहरण के लिए, मान कोई टिप्पणी "मैं एम & सुश्री प्यार करता हूँ" छोड़ देता है। कोड में इसे सादे-पाठ स्ट्रिंग "I love M&Ms"
के रूप में प्रस्तुत करने के लिए शायद सबसे आसान है, HTML-एन्कोडेड स्ट्रिंग "I love M&Ms"
के रूप में नहीं। तकनीकी रूप से, कोड में मौजूद डेटा अभी तक HTML नहीं है और यदि डेटा को यथासंभव सटीक रूप से प्रदर्शित किया जाता है तो जीवन सबसे आसान होता है। इस डेटा को बाद में एक अलग दृश्य में उपयोग किया जा सकता है, उदा। डेस्कटॉप ऐप यह डेटा किसी डेटाबेस, एक फ्लैट फ़ाइल या किसी XML फ़ाइल में संग्रहीत किया जा सकता है, शायद बाद में किसी अन्य प्रोग्राम के साथ साझा किया जा सकता है। स्ट्रिंग को मानने के लिए अन्य कार्यक्रम के लिए यह सबसे सरल है प्रारूप के लिए "देशी" प्रतिनिधित्व में: "I love M&Ms"
डेटाबेस और फ्लैट फ़ाइल में और "I love M&Ms"
XML फ़ाइल में। मैं एक XML फ़ाइल ("I love &Ms"
) में एन्कोड किए गए HTML-एन्कोडेड मान को देखने के लिए क्रिंग करता हूं।
अनुवाद
बाद में, जब डेटा के बारे में प्रतिनिधित्व सीमा (जैसे एचटीएमएल में दिखाया गया है, एक डाटाबेस, सादे-पाठ फ़ाइल, या एक्सएमएल फ़ाइल में संग्रहीत) पार करने के लिए है, तो के लिए यह महत्वपूर्ण है सुनिश्चित करें कि इसका सही अनुवाद किया गया है, इसलिए इसे अगले पर्यावरण के मूल प्रारूप में सटीक रूप से दर्शाया गया है। संक्षेप में, जब आप इसे किसी HTML पृष्ठ पर प्रदर्शित करने के लिए जाते हैं, तो सुनिश्चित करें कि इसका उचित रूप से-एन्कोडेड HTML (मैन्युअल रूप से या किसी टूल के माध्यम से) में अनुवाद किया गया है, इसलिए मूल्य पृष्ठ पर सटीक रूप से प्रदर्शित होता है। जब आप इसे डेटाबेस में संग्रहीत करने के लिए जाते हैं या किसी क्वेरी में इसका उपयोग करते हैं, तो यह सुनिश्चित करने के लिए कि उसी वैचारिक मान को डेटाबेस में सटीक रूप से दर्शाया गया है, से बचने और/या तैयार कथन और बाध्य चर का उपयोग करें। जब आप इसे किसी XML फ़ाइल में स्टोर करने के लिए जाते हैं, तो आप इसे एक्सएमएल-एन्कोडेड सुनिश्चित करते हैं।
प्रतिनिधित्व सीमाओं को पार करते समय ठीक से अनुवाद करने में विफलता इंजेक्शन हमलों जैसे एसक्यूएल-इंजेक्शन हमलों का स्रोत है। जब भी आप कई प्रतिनिधित्व/भाषाओं (जैसे जावा, एसक्यूएल, एचटीएमएल, जावास्क्रिप्ट, एक्सएमएल, आदि) के साथ काम कर रहे हैं, तब से ईमानदार रहें।
-
दूसरी ओर, यदि आप वास्तव में डेटाबेस के लिए HTML पृष्ठ के टुकड़े को बचाने के लिए कोशिश कर रहे हैं, तो मैं तुम्हें द्वारा क्या मतलब द्वारा स्पष्ट नहीं कर रहा हूँ "संग्रहीत किया जा रहा से पहले इनकोडिंग"। यदि यह सख्ती से मान्य HTML है, तो सभी आवश्यक मान पहले ही एन्कोड किए जाने चाहिए (उदा। &
, <
, आदि)।
सर्वोत्तम अभ्यास आमतौर पर समुदाय विकी होते हैं। :) – bzlm