ಬಾಹ್ಯ DTD ಮತ್ತು XML ಸಂಪನ್ಮೂಲಗಳಿಂದ ಪ್ರಾಕ್ಸಿ 407 ದೋಷಗಳು
ದಾಖಲೆ ಪರಿವರ್ತನೆಯ ಸಮಯದಲ್ಲಿ ಬಾಹ್ಯ DTD, ಸ್ಕೀಮಾಗಳು ಅಥವಾ ಪಾರ್ಸರ್ ತೆರೆಯುವ ಇತರ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಹೋಗುವ ಅನಿರೀಕ್ಷಿತ 407 ಅನ್ನು ಪತ್ತೆಮಾಡಿ.
ಸ್ಥಳೀಯ ದಾಖಲೆಯೂ ಪರಿವರ್ತನೆಯ ಸಮಯದಲ್ಲಿ 407 ಉಂಟುಮಾಡಬಹುದು. ಅದರ XML ಒಂದು DTD, ಸ್ಕೀಮಾ ಅಥವಾ ಎಂಟಿಟಿ ಹೆಸರಿಸಬಹುದು, ಮತ್ತು ರೆಂಡರರ್ ಶೈಲಿಗಳು ಅಥವಾ ಚಿತ್ರಗಳನ್ನು ತರಬಹುದು. ವಿಫಲವಾಗುವ ಕ್ಲೈಂಟ್ ಮೂಲ ಡೌನ್ಲೋಡ್ ಮುಗಿದ ನಂತರ ಆ ಪಾರ್ಸರ್ ಒಳಗೆ ಇರಬಹುದು.
ಎಕ್ಸೆಪ್ಶನ್ ಸ್ಟಾಕ್ ಮತ್ತು ವಿನಂತಿಸಿದ URI ಅನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ, ನಂತರ ಅವನ್ನು ಇನ್ಪುಟ್ ಘೋಷಣೆಗಳು ಅಥವಾ ಸಂಪನ್ಮೂಲ ಉಲ್ಲೇಖಗಳೊಂದಿಗೆ ಹೋಲಿಸಿ. ಪ್ರಮಾಣಿತ ಹೋಸ್ಟ್ಗೆ DTD ವಿನಂತಿ ಪುಟ ವಿನಂತಿಗಿಂತ ಬೇರೆ ಕಾರ್ಯಾಚರಣೆ. HTML-ನಿಂದ-PDF ಪರಿವರ್ತನೆಯೂ ದೂರದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ತರುವಾಗ ವಿಫಲವಾಗಬಹುದು.
ಒಪ್ಪಂದವು DTD ಮತ್ತು ಬಾಹ್ಯ ಪರಿಹಾರವನ್ನು ನಿಷೇಧಿಸುವ .NET XmlReader ಇನ್ಪುಟ್ಗಾಗಿ, ಬಳಸಿ:
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};ಆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ದಾಖಲೆಯನ್ನು ನಿಜವಾಗಿ ಪಾರ್ಸ್ ಮಾಡುವ ಘಟಕಕ್ಕೆ ರವಾನಿಸಿ. DtdProcessing DTD ಅನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸಬೇಕೆಂದು ಆಯ್ಕೆಮಾಡುತ್ತದೆ; XmlResolver ಬಾಹ್ಯ ಪ್ರವೇಶವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. Prohibit DTD ಇರುವ ದಾಖಲೆಯನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ—ಅದು ಘೋಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ. ಕಾರ್ಯಹರಿವಿಗೆ ಒಂದು ಬೇಕಿದ್ದರೆ, ಅನುಮೋದಿತ ಸ್ಥಳೀಯ ಪರಿಹಾರ ಅಥವಾ ಸ್ಪಷ್ಟವಾಗಿ ಮಾರ್ಗದರ್ಶಿಸಿದ resolver ಆಯ್ಕೆಮಾಡಿ.
ಡೀಫಾಲ್ಟ್ಗಳನ್ನು API/ರನ್ಟೈಮ್ಗೆ ಬಿಗಿಯಾಗಿ ಇರಿಸಿ. XmlReaderSettings ಡೀಫಾಲ್ಟ್ ಆಗಿ Prohibit ಬಳಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಡೀಫಾಲ್ಟ್ resolver .NET Framework 4.5.2 ರಿಂದ null ಆಗಿ ಬದಲಾಗಿದೆ. ತೃತೀಯ-ಪಕ್ಷದ ಕನ್ವರ್ಟರ್ ಅವನ್ನು ಮೀರಿಸಬಹುದು ಅಥವಾ ಬೇರೆ ಪಾರ್ಸರ್ ಬಳಸಬಹುದು.
XHTML ಘೋಷಣೆಯನ್ನು HTML doctype ಗೆ ಬದಲಾಯಿಸುವುದು ಒಂದು ಕನ್ವರ್ಟರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು, ಆದರೆ ಅದರ ಪ್ರಾಕ್ಸಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು ಅವುಗಳ ಲೋಡರ್ ನೀತಿಯನ್ನು ನಿರ್ಧರಿಸಿ; ಆರಂಭಿಕ ಪುಟದ ಕ್ಲೈಂಟ್ನಲ್ಲಿನ ದೃಢೀಕರಣವು ಈ ಎರಡನೇ ಕ್ಲೈಂಟ್ ಅನ್ನು ದೃಢೀಕರಿಸುವುದಿಲ್ಲ.