2011-04-01 29 views
6

के साथ गायब पोस्ट पैरामीटर हमारे वेब एप्लिकेशन के साथ हमें कुछ अजीब व्यवहार का सामना करना पड़ता है। कुछ POST अनुरोधों में कोई http body नहीं होता है, जब उन्हें करना चाहिए। सामग्री-लंबाई 0 है। कोई पोस्ट पैरामीटर बिल्कुल नहीं है। हमने अपने लोडबैंसर पर नेटवर्क यातायात का पता लगाया और हम देखते हैं कि हमें हमारे कुछ POST अनुरोधों के साथ कोई अनुरोध निकाय नहीं मिला है।प्रॉक्सी सर्वर

सभी टूटे हुए POST अनुरोधों में आम है कि वे प्रॉक्सी सर्वर के माध्यम से आते हैं।

हम पहले से ही इतने पर इस सवाल का पाया: Why "Content-Length: 0" in POST requests?

अब हम एक फ्रेम जावास्क्रिप्ट दिनचर्या से बचने के प्रयोग कर रहे हैं और यह थोड़ा मदद करता है। ऐसा लगता है कि त्रुटि दर गिर जाती है। लेकिन हमारे पास अभी भी कोई डेटा नहीं है जो हमारे वेबएप में कभी नहीं होना चाहिए। ये अनुरोध हैकर या समान रूप से नहीं आते हैं।

अक्सर हमने वेबवाशर को प्रॉक्सी के रूप में देखा। लेकिन ज्यादातर समय हम नहीं देखते कि कौन सी प्रॉक्सी का उपयोग किया जाता है।

इस पीडीएफ में हम जब स्थापित करने webwasher पर कुछ नुकसान

नोट कुछ नुकसान है कि ध्यान में रखा जाना चाहिए देखते हैं कि

WebWasher - Transparent Authentication Guide

नोट्स के साथ पोस्ट पैरामीटर मौजूद नहीं के बारे में ऐसी टिप्पणी देखी अप पारदर्शी प्रमाणीकरण:

आईएसएपी सर्वर प्रमाणीकरण सर्वर पर रीडायरेक्ट भेजता है तो POST अनुरोध विफल हो जाएंगे। हालांकि, ब्राउजर के लिए अनुरोध सफल होने के बाद से मैपिंग का केवल नवीकरण प्रभावित होता है, और अंतिम निकाय के बाद पोस्ट बॉडी को फिर से नहीं भेजा जाएगा।

हम जानना चाहते हैं कि POST के बजाय केवल GET का उपयोग करने के अलावा कुछ कामकाज है या नहीं। हम यहां भी होंगे यदि अन्य साइटों को पोस्ट डेटा खोने और उनके द्वारा किए गए निष्कर्ष के साथ समस्याएं थीं।

क्या कोई अन्य कारण है कि POST डेटा क्यों नहीं भेजा जाता है?

उत्तर

2

मुझे माइक्रोसॉफ्ट के प्रॉक्सी सर्वर के साथ वेब अनुरोधों के साथ अच्छी तरह से खेल नहीं रहा है।

मुझे HTTP/1.0 को मजबूर करने और KeepAlive प्रॉपर्टी को गलत पर सेट करने का सहारा लेना पड़ा।

एनटीएलएम प्रमाणीकरण के तरीके के बारे में कुछ ऐसा है जो शरीर को स्पोरैडिक रूप से भेजा जाता है।

मैं अपने वेब के कई करने के लिए इस जोड़ दिया है अनुरोध करता

protected override WebRequest GetWebRequest(Uri uri) 
{ 
    HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri); 

    webRequest.KeepAlive = false; 
    webRequest.ProtocolVersion=HttpVersion.Version10; 
    return webRequest; 
} 

आशा इस मदद करता है!

+0

हम्म, हम एनटीएलएम का उपयोग नहीं कर रहे हैं, लेकिन मुझे लगता है कि आपका संकेत सही दिशा को लक्षित कर रहा है। – Janning

-1

नहीं हैं, जो spec के अनुरूप:

कुछ HTTP विधियों एक कैश एक इकाई रद्द करने के लिए कारण होगा। ... पोस्ट

(HTTP/1.0 कल्पना राज्यों के आवेदन नहीं करना चाहिए एक पोस्ट अनुरोध करने के लिए कैश की प्रतिक्रियाएं ')।

लेकिन वहां बहुत बुरी तरह लिखित कोड हैं।

यूआरएल पर POSTs के जवाब में आप किस शीर्षलेख में शामिल हैं?

+0

यह हमारी हेडर पर निर्भर नहीं करता, न ही यह कल्पना से संबंधित है। कभी-कभी यह कभी-कभी काम करता है यह नहीं करता है। ऐसा लगता है कि वेबवाशर जैसे खराब प्रॉक्सी सर्वरों के साथ करना है। इसलिए मैं इस एन्सर को वोट देना चाहूंगा क्योंकि यह मेरे प्रश्न और असहनीय से संबंधित नहीं है। – Janning

0

वास्तव में कोई जवाब नहीं है, मुझे लगता है, लेकिन मैं यहां पहुंचा क्योंकि हमें एक ही समस्या थी। प्रारंभ में, हमने सोचा था कि यह ग्राहकों के मोबाइल होने के कारण था, क्योंकि यह एक आम विषय था, लेकिन अब हमें एहसास हुआ है कि आम संप्रदाय प्रॉक्सी है।

अब ऐसा होने पर हम http 400 उठाते हैं।

यहां कुछ प्रॉक्सी हैं, हमारे पास समस्याएं हैं। पोस्ट करना उन्हें आकस्मिक गूगलर यहाँ नेतृत्व करने के लिए:

  • 1.1 ACISA02S, 1.1 abc:3328 (squid/2.6.STABLE21)
  • 1.1 ipcop00.cat.local:8000 (squid/2.6.STABLE21)
  • 1.1 PRXTGLSRV01
  • 1.1 ISA
संबंधित मुद्दे