XML खतरा सुरक्षा नीति

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

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू में अक्षर, संख्याएं, स्पेस, हाइफ़न, अंडरस्कोर, और पीरियड शामिल किए जा सकते हैं. इस वैल्यू में 255 से ज़्यादा वर्ण नहीं हो सकते.

इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें.

लागू नहीं ज़रूरी है
continueOnError

इस नीति को false पर सेट करें, ताकि नीति के काम न करने पर गड़बड़ी का मैसेज दिखे. ज़्यादातर नीतियों में, ऐसा आम तौर पर किया जाता है.

किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, true पर सेट करें.

false ज़रूरी नहीं
enabled

नीति लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. अगर यह नीति किसी फ़्लो से जुड़ी हुई है, तब भी उसे लागू नहीं किया जाएगा.

सही ज़रूरी नहीं
async

यह एट्रिब्यूट अब काम नहीं करता.

false बहिष्कृत

<DisplayName> एलिमेंट

मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name एट्रिब्यूट का इस्तेमाल करें.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के name एट्रिब्यूट की वैल्यू का इस्तेमाल किया जाता है.

मौजूदगी ज़रूरी नहीं
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
मौजूदगी: ज़रूरी नहीं
टाइप:

स्ट्रिंग.

request, response या message में से चुनें.

<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 नीति से जुड़ी रनटाइम की गड़बड़ी से जुड़ी समस्या हल करना लेख पढ़ें.
steps.xmlthreatprotection.InvalidXMLPayload 500 यह गड़बड़ी तब होती है, जब XMLThreadProtection नीति के <Source> एलिमेंट से मिला इनपुट मैसेज पेलोड, एक मान्य एक्सएमएल दस्तावेज़ नहीं होता.
steps.xmlthreatprotection.SourceUnavailable 500 यह गड़बड़ी तब होती है, जब <Source> एलिमेंट में दिया गया message वैरिएबल, इनमें से कोई एक हो:
  • दायरे से बाहर है (यह सुविधा उस फ़्लो में उपलब्ध नहीं होती जहां नीति लागू की जा रही है)
  • request, response, या message मान्य वैल्यू में से एक नहीं है
steps.xmlthreatprotection.NonMessageVariable 500 यह गड़बड़ी तब होती है, जब <Source> एलिमेंट ऐसे वैरिएबल पर सेट हो जो message टाइप का न हो.

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 की सहायता टीम से संपर्क करना होगा.

मिलते-जुलते विषय

JSON की खतरे से जुड़ी नीति

रेगुलर एक्सप्रेशन सुरक्षा की नीति