Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
यह क्या है
एक्सएमएल की जोखिम की आशंकाओं को दूर करें और अपने एपीआई पर हमलों को कम करें. इसके अलावा, कॉन्फ़िगर की गई सीमाओं के आधार पर, एक्सएमएल पेलोड हमलों का पता लगाएं. एक्सएमएल से जुड़े खतरों पर नज़र रखने के लिए, इन तरीकों का इस्तेमाल करें:
- एक्सएमएल स्कीमा (
.xsd
) के हिसाब से मैसेज की पुष्टि करें - बाहर रखे जाने वाले खास कीवर्ड या पैटर्न के हिसाब से, मैसेज के कॉन्टेंट का आकलन करें
- इन मैसेज के पार्स होने से पहले, खराब या खराब मैसेज का पता लगाएं
एलिमेंट का रेफ़रंस
इस एलिमेंट से, XMLThreadProtection की नीति के एलिमेंट और एट्रिब्यूट के बारे में बताया जाता है.
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1"> <DisplayName>XML Threat Protection 1</DisplayName> <NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits> <Source>request</Source> <StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits> <ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits> </XMLThreatProtection>
<XML MapsProtection> एट्रिब्यूट
<XMLThreatProtection async="false" continueOnError="false" enabled="true" name="XML-Threat-Protection-1">
इस टेबल में उन एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट के लिए एक जैसे होते हैं:
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
name |
नीति का अंदरूनी नाम. इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
इस नीति को किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, |
false | ज़रूरी नहीं |
enabled |
नीति लागू करने के लिए, नीति को बंद करने के लिए, |
सही | ज़रूरी नहीं |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
false | बहिष्कृत |
<DisplayName> एलिमेंट
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name
एट्रिब्यूट का इस्तेमाल करें.
<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट |
लागू नहीं अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के |
---|---|
मौजूदगी | ज़रूरी नहीं |
Type | String |
<NameLimits> एलिमेंट
उन वर्ण सीमाओं के बारे में बताता है जिनकी जांच करनी है और नीति को लागू करना है.
<NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits>
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | लागू नहीं |
<NameLimits>/<Element> एलिमेंट
इससे एक्सएमएल दस्तावेज़ के किसी भी एलिमेंट के नाम में, ज़्यादा से ज़्यादा वर्णों के इस्तेमाल की सीमा तय की जाती है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>
ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में मौजूद <Element>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि एलिमेंट के नाम (book
, title
, author
, और year)
में 10
से ज़्यादा वर्ण नहीं हैं).
<NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | Integer |
<NameLimits>/<Attribute> एलिमेंट
इससे यह तय होता है कि एक्सएमएल दस्तावेज़ के किसी भी एट्रिब्यूट के नाम में, ज़्यादा से ज़्यादा कितने वर्ण इस्तेमाल किए जा सकते हैं.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>
ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में <Attribute>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि category
एट्रिब्यूट के नाम में 10
से ज़्यादा वर्ण नहीं हैं.
<NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | Integer |
<NameLimits>/<NamespacePrefix> एलिमेंट
इससे यह तय होता है कि एक्सएमएल दस्तावेज़ के नेमस्पेस प्रीफ़िक्स में, ज़्यादा से ज़्यादा कितने वर्ण इस्तेमाल किए जा सकते हैं.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<ns1:myelem xmlns:ns1="http://ns1.com"/>
ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में मौजूद <NamespacePrefix>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि नेमस्पेस प्रीफ़िक्स ns1
में 10
से ज़्यादा वर्ण नहीं हैं.
<NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | Integer |
<NameLimits>/<processingInstructionTarget> एलिमेंट
इससे एक्सएमएल दस्तावेज़ में, किसी भी प्रोसेसिंग निर्देश के टारगेट में ज़्यादा से ज़्यादा वर्णों की सीमा तय होती है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में <ProcessingInstructionTarget>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि प्रोसेसिंग के निर्देश टारगेट
xml-stylesheet
में 10
से ज़्यादा वर्ण नहीं हैं.
<NameLimits> <Element>10</Element> <Attribute>10</Attribute> <NamespacePrefix>10</NamespacePrefix> <ProcessingInstructionTarget>10</ProcessingInstructionTarget> </NameLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | Integer |
<सोर्स> एलिमेंट
एक्सएमएल पेलोड हमलों के लिए, स्क्रीन किए जाने वाला मैसेज. आम तौर पर, इसे
request
पर सेट किया जाता है. ऐसा इसलिए होता है, क्योंकि आम तौर पर आपको क्लाइंट ऐप्लिकेशन से मिलने वाले अनुरोधों की पुष्टि करनी होती है.
अगर इस नीति को message
पर सेट किया जाता है, तो अनुरोध के फ़्लो के साथ अटैच किए जाने पर, यह एलिमेंट अपने-आप अनुरोध के मैसेज का आकलन करेगा. रिस्पॉन्स फ़्लो के साथ अटैच होने पर, वह रिस्पॉन्स मैसेज भी जांचेगा.
<Source>request</Source>
डिफ़ॉल्ट: | CANNOT TRANSLATE |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
स्ट्रिंग.
|
<StructuralLimits> एलिमेंट
उन स्ट्रक्चर की सीमाओं के बारे में बताता है जिनकी जांच करनी है और नीति को लागू करना है.
<StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits>
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी नहीं |
टाइप: | लागू नहीं |
<StructuralLimits>/<Nodedepth> एलिमेंट
यह एक्सएमएल में ज़्यादा से ज़्यादा नोड की गहराई बताता है.
<StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<StructuralLimits>/<AttributeCountPerElement> एलिमेंट
इससे पता चलता है कि किसी एलिमेंट के लिए ज़्यादा से ज़्यादा कितने एट्रिब्यूट इस्तेमाल किए जा सकते हैं.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में मौजूद
<AttributeCountPerElement>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि book
, title
, author
, और year
एलिमेंट में हर एलिमेंट के 2
से ज़्यादा एट्रिब्यूट नहीं हैं.
ध्यान दें कि नेमस्पेस तय करने के लिए इस्तेमाल किए गए एट्रिब्यूट की गिनती नहीं की जाती.
<StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<StructuralLimits>/<NameSpaceCountPerElement> एलिमेंट
इससे किसी भी एलिमेंट के लिए इस्तेमाल की जा सकने वाली नेमस्पेस परिभाषाओं की ज़्यादा से ज़्यादा संख्या तय होती है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<e1 attr1="val1" attr2="val2"> <e2 xmlns="http://apigee.com" xmlns:yahoo="http://yahoo.com" one="1" yahoo:two="2"/> </e1>
ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में <NamespaceCountPerElement>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि e1
और e2
एलिमेंट में से हर एक के लिए 2
नेमस्पेस से ज़्यादा परिभाषाएं नहीं हैं. इस मामले में, <e1> में नेमस्पेस की कोई परिभाषाएं और
<e2> में दो नेमस्पेस
परिभाषाएं हैं: xmlns="http://apigee.com"
और
xmlns:yahoo="http://yahoo.com"
.
<StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<StructuralLimits>/<ChildCount> एलिमेंट
इससे पता चलता है कि किसी भी एलिमेंट के लिए ज़्यादा से ज़्यादा कितने चाइल्ड एलिमेंट इस्तेमाल किए जा सकते हैं.
<StructureLimits> <NodeDepth>5</NodeDepth> <AttributeCountPerElement>2</AttributeCountPerElement> <NamespaceCountPerElement>3</NamespaceCountPerElement> <ChildCount includeComment="true" includeElement="true" includeProcessingInstruction="true" includeText="true">3</ChildCount> </StructureLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
एट्रिब्यूट
एट्रिब्यूट | डिफ़ॉल्ट | मौजूदगी |
---|---|---|
includeComment | सही | ज़रूरी नहीं |
includeElement | सही | ज़रूरी नहीं |
includeProcessingInstructions | सही | ज़रूरी नहीं |
includeText | सही | ज़रूरी नहीं |
<ValueLimits> एलिमेंट
इससे उन वैल्यू के लिए वर्ण सीमाएं तय होती हैं जिनकी जांच करनी है और जिन्हें नीति से लागू किया जाना है.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | लागू नहीं |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
लागू नहीं |
<ValueLimits>/<Text> एलिमेंट
एक्सएमएल दस्तावेज़ में मौजूद किसी भी टेक्स्ट नोड के लिए वर्ण सीमा तय करता है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में मौजूद
<Text>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि एलिमेंट टेक्स्ट वैल्यू Learning XML
, Erik T.
Ray,
, और 2003
में से हर एक में 15
से ज़्यादा वर्ण नहीं हैं.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<ValueLimits>/<Attribute> एलिमेंट
एक्सएमएल दस्तावेज़ में मौजूद किसी भी एट्रिब्यूट की वैल्यू के लिए वर्ण सीमा तय करता है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में मौजूद
<Attribute>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि WEB
एट्रिब्यूट की वैल्यू में 10
से ज़्यादा वर्ण नहीं हैं.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<ValueLimits>/<Namespaceuri> एलिमेंट
एक्सएमएल दस्तावेज़ में मौजूद किसी भी नेमस्पेस यूआरआई के लिए, वर्ण सीमा तय करता है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<ns1:myelem xmlns:ns1="http://ns1.com"/>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में
<NamespaceURI>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि नेमस्पेस यूआरआई मान http://ns1.com
में 10
से ज़्यादा वर्ण नहीं हैं.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<ValueLimits>/<टिप्पणी> एलिमेंट
एक्सएमएल दस्तावेज़ में मौजूद किसी भी टिप्पणी के लिए वर्ण सीमा तय करता है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<book category="WEB"> <!-- This is a comment --> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> </book>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में
<Comment>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि टिप्पणी के टेक्स्ट This is a comment
में 10
से ज़्यादा वर्ण नहीं हैं.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
<ValueLimits>/<ProcessInstructionData> एलिमेंट
एक्सएमएल दस्तावेज़ में मौजूद किसी भी प्रोसेसिंग निर्देश टेक्स्ट के लिए वर्ण सीमा के बारे में बताता है.
उदाहरण के लिए, नीचे दिए गए एक्सएमएल का इस्तेमाल करें:
<?xml-stylesheet type="text/xsl" href="style.xsl"?>ऊपर दिए गए एक्सएमएल का विश्लेषण करते समय, नीचे दिए गए नीति स्निपेट में
<ProcessingInstructionData>
एलिमेंट की वैल्यू इस बात की पुष्टि करेगी कि प्रोसेसिंग निर्देश टेक्स्ट
type="text/xsl" href="style.xsl"
में 10
से ज़्यादा वर्ण नहीं हैं.
<ValueLimits> <Text>15</Text> <Attribute>10</Attribute> <NamespaceURI>10</NamespaceURI> <Comment>10</Comment> <ProcessingInstructionData>10</ProcessingInstructionData> </ValueLimits>
डिफ़ॉल्ट: | अगर आपने कोई सीमा तय नहीं की है, तो सिस्टम -1 की डिफ़ॉल्ट वैल्यू लागू करता है.
इसकी वैल्यू के लिए कोई सीमा नहीं तय की जाती. |
मौजूदगी: | ज़रूरी नहीं |
टाइप: |
Integer |
गड़बड़ी का रेफ़रंस
यह सेक्शन गड़बड़ी के कोड और दिखाए गए गड़बड़ी के मैसेज के बारे में बताता है. साथ ही, इस नीति के ट्रिगर होने पर Edge की मदद से सेट की गई गड़बड़ी के वैरिएबल के बारे में बताता है. यह जानकारी जानना ज़रूरी है कि क्या गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.
रनटाइम से जुड़ी गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
गड़बड़ी का कोड | एचटीटीपी कोड स्थिति | वजह | समाधान |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | XMLThreadProtection की नीति में, Execution रिज़ॉर्ट से जुड़ी कई तरह की गड़बड़ियां पाई जा सकती हैं. इनमें से ज़्यादातर गड़बड़ियां तब होती हैं, जब नीति में सेट किए गए थ्रेशोल्ड को पार कर लिया जाता है. इस तरह की गड़बड़ियां, इनमें शामिल हैं: एलिमेंट के नाम की लंबाई, चाइल्ड की संख्या, नोड डेप्थ, एट्रिब्यूट की संख्या, एट्रिब्यूट के नाम की लंबाई, और कई अन्य गड़बड़ियां. इस बारे में पूरी सूची देखने के लिए, XML MapsProtection नीति से जुड़ी रनटाइम की गड़बड़ी से जुड़ी समस्या हल करना लेख पढ़ें. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
यह गड़बड़ी तब होती है, जब XMLThreadProtection नीति के <Source> एलिमेंट से मिला इनपुट मैसेज पेलोड, एक मान्य एक्सएमएल दस्तावेज़ नहीं होता.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
यह गड़बड़ी तब होती है, जब <Source> एलिमेंट में दिया गया message वैरिएबल, इनमें से कोई एक हो:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
यह गड़बड़ी तब होती है, जब <Source> एलिमेंट ऐसे वैरिएबल पर सेट हो जो
message टाइप का न हो.
|
build |
Notes:
- गड़बड़ी का नाम Executionflow, डिफ़ॉल्ट गड़बड़ी का नाम है और इसे वापस दिखाया जाएगा, भले ही किसी भी तरह की गड़बड़ी का पता चले. हालांकि, इस डिफ़ॉल्ट सेटिंग को संगठन-लेवल प्रॉपर्टी को सेट करके बदला जा सकता है. इस प्रॉपर्टी को सेट करने पर, गड़बड़ी के नाम के लिए असल गड़बड़ी दिखेगी. उदाहरण के लिए, "TextExceeded" या "AttrValueExceeded". ज़्यादा जानकारी के लिए, इस्तेमाल के बारे में नोट देखें.
- 500 एचटीटीपी स्टेटस डिफ़ॉल्ट रूप से सेट होता है. हालांकि, संगठन-लेवल की प्रॉपर्टी सेट करके, अनुरोध के फ़्लो की गड़बड़ियों के लिए, एचटीटीपी स्टेटस को 400 में बदला जा सकता है. ज़्यादा जानकारी के लिए, इस्तेमाल के बारे में नोट देखें.
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
कोई नहीं.
गड़बड़ी वाले वैरिएबल
रनटाइम में कोई गड़बड़ी होने पर ये वैरिएबल सेट किए जाते हैं. ज़्यादा जानकारी के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी देखें.
वैरिएबल | जगह | उदाहरण |
---|---|---|
fault.name="fault_name" |
fault_name, गड़बड़ी का नाम है, जैसा कि ऊपर रनटाइम की गड़बड़ियां टेबल में दिया गया है. गड़बड़ी का नाम, गड़बड़ी के कोड का आखिरी हिस्सा होता है. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name, उस नीति का उपयोगकर्ता तय किया गया नाम है जिसकी वजह से गड़बड़ी हुई है. | xmlattack.XPT-SecureRequest.failed = true |
गड़बड़ी के जवाब का उदाहरण
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
गड़बड़ी के नियम का उदाहरण
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
स्कीमा
इस्तेमाल की जानकारी
ऑनलाइन डेटा पाने वाले किसी भी सर्वर पर हमला हो सकता है, चाहे वह नुकसान पहुंचाने वाला हो या अनजाने में हुआ हो. कुछ हमले, ऐसे अमान्य दस्तावेज़ बनाकर एक्सएमएल के इस्तेमाल में आसान होते हैं जिनमें बैक-एंड सिस्टम के साथ छेड़छाड़ करने की संभावना होती है. खराब या बहुत जटिल एक्सएमएल दस्तावेज़ों की वजह से, सर्वर उपलब्ध मेमोरी से ज़्यादा मेमोरी दे सकते हैं. सर्वर, सीपीयू और मेमोरी रिसॉर्स को आपस में जोड़ सकता है, पार्सर को क्रैश कर सकता है, और आम तौर पर मैसेज की प्रोसेसिंग बंद कर सकता है. साथ ही, ऐप्लिकेशन-लेवल पर सेवा में रुकावट पैदा करने वाले हमले भी हो सकते हैं.
खतरे से सुरक्षा की गड़बड़ी का कॉन्फ़िगरेशन
इस नीति के लिए गड़बड़ी के नियम बनाने की स्थिति में अहम जानकारी: डिफ़ॉल्ट रूप से, अगर मैसेज JSON या एक्सएमएल की खतरे से बचाने की नीति से बाहर नहीं होता है, तो एज डिफ़ॉल्ट रूप से एचटीटीपी 500 इंटरनल सर्वर की गड़बड़ी का स्टेटस कोड दिखाता है. संगठन की नई प्रॉपर्टी का इस्तेमाल करके,
उस गड़बड़ी के व्यवहार को बदला जा सकता है. संगठन की
प्रॉपर्टी features.isPolicyHttpStatusEnabled
को 'सही है' पर सेट करने पर, ये
व्यवहार होते हैं:
- अनुरोध: किसी भी अनुरोध फ़्लो से जुड़ी खतरे से सुरक्षा की नीति के साथ, अमान्य मैसेज 400 खराब अनुरोध का स्टेटस कोड दिखाते हैं. साथ ही, नीति के हिसाब से गड़बड़ी वाला कोड दिखाता है (न कि सिर्फ़ Execस्थाफ़िड कोड).
- रिस्पॉन्स: किसी भी रिस्पॉन्स फ़्लो में, खतरे से सुरक्षा की नीति जोड़े जाने के बाद भी, अमान्य मैसेज 500 सर्वर में गड़बड़ी का स्टेटस कोड दिखाते हैं. साथ ही, नीति का कोई एक गड़बड़ी कोड एंज किया जाता है, न कि सिर्फ़ Execution ऐप्लिकेशन.
Cloud के ग्राहकों को संगठन की प्रॉपर्टी सेट करने के लिए, Apigee Edge की सहायता टीम से संपर्क करना होगा.