2011-08-05 14 views
17

मैं एक एएसपी.नेट वेब फॉर्म का परीक्षण कर रहा हूं जिसे इनपुट से शून्य वर्णों को फ़िल्टर करने की आवश्यकता है।किसी वेब फ़ॉर्म में शून्य वर्ण को इनपुट कैसे करें?

इस कार्यक्षमता का परीक्षण करने के लिए, मैं वास्तव में HTML फॉर्म में एक शून्य चरित्र कैसे टाइप कर सकता हूं? मैंने Alt + 0 को आजमाया है लेकिन यह काम नहीं करता है।

मुझे पता है कि मैं इसे URL में "% 00" का उपयोग कर जीईटी अनुरोध में कर सकता हूं। हालांकि, मैं इसे एक फॉर्म पोस्ट में करना चाहता हूं।

+2

यह प्रश्न मेरे सिर को चोट पहुंचाता है। आप जानना चाहते हैं कि कैसे कुछ भी टाइप नहीं करना है। – Joe

+0

मेरा मतलब शून्य चरित्र है, "\ 0"। यूनिकोड में, यह \ x00 है। – frankadelic

+1

यदि आप विशेष रूप से टाइपिंग/चिपकाने के बारे में जानना चाहते हैं (प्रोग्रामेटिक/स्वचालित समाधान खोजने के बजाय), तो आप superuser.com पर पूछने से बेहतर हो सकते हैं, हालांकि एक त्वरित खोज यह इंगित करती है कि यह संभव नहीं है। – mercator

उत्तर

7

मैं TamperData फ़ायरफ़ॉक्स प्लगइन का उपयोग करके ऐसा करने में सक्षम था।

https://addons.mozilla.org/en-US/firefox/addon/tamper-data/

जब छेड़छाड़ पॉपअप दिया मैं पोस्ट पैरामीटर मान क्षेत्र में "% 00 " टाइप किया है।

फिर भी, मुझे कीबोर्ड का उपयोग करके शून्य चरित्र टाइप करने का कोई तरीका नहीं मिल रहा है।

+0

मुझे TamperData पसंद था। मैं अब क्रोम का उपयोग करता हूं, लेकिन जब भी मैं क्रोम पर स्विच करता हूं तो मैं कभी खो गया था ... –

+1

@ ऑस्टिनबर्क, निश्चित रूप से क्रोम के लिए एक भी सही है ..... – Pacerier

+0

@Pacerier Nope। निकटतम मैं 'ऑल xmlhttprequests' पर डीबगर को ट्रिप कर रहा हूं और इसे स्रोत जावास्क्रिप्ट पर वापस ढूंढ रहा हूं। अब तक कुछ भी मेल नहीं खाता है। –

0
<html> 
    <body onload='document.forms[0].submit();'> 
     <form method="post" action="http://localhost/test.asp" > 
      <input type="hidden" name="param" value="%00"> 
     </form> 
    </body> 
</html> 
+1

मुझे कुछ क्यूए परीक्षक वास्तव में अपने ब्राउज़र में टाइप कर सकते हैं। – frankadelic

+1

जिस तरह से ओएस क्लिपबोर्ड लागू किया गया है, वहां कोई मौका नहीं है कि क्यूए परीक्षक एक क्षेत्र में एक नल बाइट पेस्ट कर सकता है। मैं सुझाव दूंगा कि आप ऊपर दिए गए उदाहरण की तरह एक HTML फ़ाइल बनाते हैं और क्यूए परीक्षक इसे ब्राउज़ करते हैं। यदि आप क्यूए परीक्षक को अधिक स्वतंत्रता चाहते हैं (चुनने के लिए कि कौन सा क्षेत्र नल बाइट प्राप्त करना चाहिए) एक एएसपी पृष्ठ को लागू करने पर विचार करें जो स्वचालित रूप से क्वेरी स्ट्रिंग को पार्स करेगा और –

+0

प्रदान किए गए एक ऑटो-सबमिटिंग फॉर्म का निर्माण करेगा यदि पेस्ट विकल्प नहीं है , क्या एक नल बाइट बस कुछ नियंत्रण अनुक्रम के माध्यम से टाइप किया जा सकता है? – frankadelic

0

आप एक HTML इकाई का उपयोग कर सकते हैं। कितने शून्य के लिए आवश्यक हैं के लिए पूरी तरह से सुनिश्चित नहीं हैं लेकिन:

&#0; 

एक मनमाना यूनिकोड वर्ण यह हेक्साडेसिमल नोटेशन का उपयोग करने के आसान होता है। उदा।, &#x335D; प्रिंट और # x335D; wich U+335D है।


अद्यतन: यह सवाल वास्तव में बहुत मुश्किल है। मैंने एक HTML दस्तावेज़ के अंदर एक शून्य चरित्र डालने में कामयाब रहा है (सर्वर-साइड स्क्रिप्ट का उपयोग करके और हेक्साडेसिमल संपादक के साथ सत्यापित)। जैसा कि अपेक्षित है, HTML इकाई के साथ कोई अंतर नहीं है, जो either &#0; or &#x0; हो सकता है। लेकिन ब्राउजर पोस्ट अनुरोध में चरित्र नहीं भेजता है (फ़ायरफ़ॉक्स और फायरबग के साथ परीक्षण किया गया है): यह %EF%BF%BD भेजता है, जो REPLACEMENT CHARACTER' (U+FFFD) है। वास्तव में, यह एक बॉक्स में पूछताछ चिह्न भेजता है जिसका उपयोग दस्तावेज़ में शून्य को मुद्रित करने के लिए किया जाता है (दिया गया है कि नल प्रिंट करने योग्य नहीं है)।

मेरा अनुमान है कि आपके परीक्षकों को कार्य को स्क्रिप्ट करने की आवश्यकता है।

+3

यह एक शून्य चरित्र नहीं है। यह एक शून्य चरित्र का HTML इकाई प्रतिनिधित्व है। – frankadelic

+1

मेरे बहाने, मैंने एक त्वरित परीक्षण किया लेकिन यह त्रुटिपूर्ण था।अगर मैं इसे काम कर सकता हूं या प्रश्न हटा सकता हूं तो मैं वापस रिपोर्ट करूंगा। –

0

फॉर्म सबमिट करने के लिए AJAX का उपयोग करें। अर्थात।

javascript:(function(){var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){if(this.readyState==4){document.write(this.responseText)}};xhr.open("POST",'/form',true);xhr.send("\0");})() 

यहाँ यह unwrapped है, तो आप वास्तव में इसे देख सकते हैं: बजाय पता बार में कुछ इस तरह पेस्ट

(function() { 
    var xhr = new XMLHttpRequest(); 
    xhr.onreadystatechange = function() { 
     if (this.readyState == 4) { 
      document.write(this.responseText); 
     } 
    }; 
    xhr.open("POST", '/form', true); 
    xhr.send("\0"); 
})() 

इस के लिए कुछ सीमाएं निश्चित रूप से, हैं, यह बाद से बस आँख बंद करके वर्तमान पृष्ठ की सामग्री को जो कुछ भी वापस मिला है उसे बदल देता है। लेकिन यह बताने के लिए पर्याप्त हो सकता है कि कुछ गलत हो गया है या नहीं।

-2

एक लैटिन चरित्र ओ इसके माध्यम से एक स्लैश के साथ अक्सर नल/नूल (या यदि आप पसंद करते हैं तो खाली) के प्रतीक के रूप में स्वीकार्य होता है। यदि आप डेटाबेस-संचालित अनुप्रयोगों का उपयोग कर रहे हैं तो आप अपनी जरूरतों के आधार पर, इस प्रतीक को शून्य या खाली के साथ प्रतिस्थापित करने के लिए स्वच्छ करना चाहते हैं।

यह करने के लिए कैसे: ALT + 0216 अपने पसंदीदा संपादक आप Ø देना चाहिए में - जो है, इस प्रदर्शन प्रयोजन के लिए, अशक्त।

फिर, एक उदाहरण और सर्वोत्तम अभ्यास के रूप में, आप डेटाबेस में पास होने से पहले फॉर्म सबमिशन को स्वच्छ कर देंगे।

उदाहरण मामला: तो एक डेटाबेस चालित PHP साइट, इस विशिष्ट चरित्र की अपनी सफाई कुछ इस तरह लग सकता है ...

या कोशिश ... खिला

$dbstring = str_replace(Ø,""); and the value will be BLANK 

! वैकल्पिक रूप से, आप इस डिस्प्ले को HTML इकाई कोड के साथ करना चाहते हैं, जिसका मैं नीचे उल्लेख करता हूं।

Alt + 0216 समझाया तो अंग्रेजी (अमेरिकी) अपनी प्राथमिक भाषा के रूप में सेट के साथ एक सामान्य 104-कुंजी कीबोर्ड का उपयोग कर, एएलटी कुंजी को दबाए रखें, और जब पकड़े, संख्या पैड कुंजी का उपयोग तब 0216. दर्ज करने के लिए एएलटी कुंजी जारी करें, और आपका चरित्र प्रकट होना चाहिए। * यह मुख्य रूप से एक विंडोज विधि है। मैकिंतोश, (एक्स) निक्स और बीएसडी उपयोगकर्ता, आप शायद HTML इकाई कोड का उपयोग कर फंस जाएंगे।

विशेष नोट: शीर्ष-कुंजी-कीबोर्ड संख्याओं का उपयोग काम नहीं करता है। यदि आप लैपटॉप या अन्य डिवाइस पर हैं जो इसे कठिन या असंभव बनाता है। एक विकल्प का प्रयास करें:

&Oslash; = Ø (usually for null) 
&oslash; = ø (could be used, but the upper-case version seems more appropriate.) 

अन्य विचार है कि उपयोगी हो सकता है: HTML इकाई कोड का इस्तेमाल करें नुल बनाम अशक्त बनाम खाली - वे मौलिक रूप से एक ही बात मतलब है, लेकिन विभिन्न प्रोग्रामिंग भाषाओं का उपयोग करें या इन अलग ढंग से की आवश्यकता होती है । (नल पॉइंटर के लिए NULPTR की तरह अन्य भी हैं।)

जिस बिंदु पर मैं एनयूएल/एनयूएलएल के साथ बनाने की कोशिश कर रहा हूं, यह है कि सबमिट किया गया चर 'अस्तित्व में नहीं है' या बस 'बिल्कुल नहीं था' । अधिकांश संदर्भों में, आप बस इसे "नल" कह सकते हैं और समझा जा सकता है।

कुछ डेटाबेस सिस्टम एक ही चीज़ के रूप में खाली और न्यूल का इलाज करते हैं। अन्य, खाली वास्तव में एक खाली मूल्य है, जबकि एनयूएलएल का कोई मूल्य नहीं है (जैसे ऊपर उल्लिखित।)

उम्मीद है कि यह उस दृश्य को बनाने में सहायता करता है जिसे आप ढूंढ रहे हैं।

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