यदि मेरे पास हेडर हैं: X_HEADER1 & X_HEADER2, यदि मैं इनमें से कोई भी हेडर सेट नहीं है या सही मान नहीं रखता है तो मैं सभी अनुरोधों को अस्वीकार करना चाहता हूं। इसे करने का बेहतरीन तरीका क्या है?Nginx: हेडर मौजूद नहीं है या गलत है
धन्यवाद
यदि मेरे पास हेडर हैं: X_HEADER1 & X_HEADER2, यदि मैं इनमें से कोई भी हेडर सेट नहीं है या सही मान नहीं रखता है तो मैं सभी अनुरोधों को अस्वीकार करना चाहता हूं। इसे करने का बेहतरीन तरीका क्या है?Nginx: हेडर मौजूद नहीं है या गलत है
धन्यवाद
आप दो का उपयोग कर सकते से पहले या स्थान ब्लॉक में बयान हेडर का निरीक्षण करने के लिए और फिर एक 403 त्रुटि कोड अगर यह वर्तमान है।
if ($http_x_custom_header) {
return 403;
}
संदर्भ::
https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
https://nginx.org/en/docs/http/ngx_http_access_module.html
टिप्पणी प्रति और अधिक विस्तार जोड़ना/अनुरोध:
वैकल्पिक रूप से, आप उन बयानों उस स्थान में एक विशिष्ट स्थान ब्लॉक करने के लिए फिर से लिखने और अस्वीकार करने के लिए यदि सभी का उपयोग कर सकतेif ($http_x_custom_header) {
return 405;
}
यह देखने के लिए कि हेडर मौजूद है या नहीं
यदि आप यह देखना चाहते हैं कि सही मान मौजूद हैं या नहीं, तो आपको पहले एक चर के लिए सही मानों को मैप करने की आवश्यकता है।
map $http_x_header $is_ok {
default "0";
Value1 "1";
Value2 "1";
Value3 "1";
}
if ($is_ok) {
return 405;
}
यह पहली या नहीं, ठीक है, तो अगर चर ठीक है देखने के लिए जाँच करता है करने के लिए शीर्ष लेख मूल्य मैप करता है।
संपादित करें: नक्शा ब्लॉक के बाद अर्धविराम हटाया गया क्योंकि इससे त्रुटि उत्पन्न होती है।
+1, यदि आप कुछ उदाहरण दे सकते हैं तो यह और अधिक सराहना की जाएगी :)। – srain
उम्मीद है कि यह उदाहरण उपयोगी है। – Rami
लिंक पुराने होने लगते हैं। ये अद्यतन विकल्प प्रतीत होते हैं। https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ http://nginx.org/en/docs/http/ngx_http_access_module.html – Zoredache