অ্যাপাচি এইচটিটিপি সার্ভারে কীভাবে সমস্ত HTTP পদ্ধতি সক্ষম করা যায় enable


16

আপাচি ওয়েব সার্ভারে আরএফসি 2616 তে সংজ্ঞায়িত হিসাবে সমস্ত HTTP পদ্ধতি হ্যান্ডলিং সক্ষম করব? এগুলি হবে:

OPTIONS
GET
HEAD
POST
PUT
DELETE
TRACE
CONNECT

আমি অ্যাপাচি এইচটিটিপি সার্ভার ব্যবহার করছি, সংস্করণ ২.২.২২ (উবুন্টু)
এখানে আমার .htaccessফাইলটি রয়েছে:

<Location /output>
        Dav On
    <LimitExcept GET HEAD OPTIONS PUT>
        Allow from all
    </LimitExcept>
</Location>

টেলনেট চালানো থেকে প্রাপ্ত আউটপুটটি এখানে - PUT পদ্ধতি নেই:

Escape character is '^]'.
OPTIONS / HTTP/1.0

HTTP/1.1 200 OK
Date: Tue, 09 Oct 2012 06:56:42 GMT
Server: Apache/2.2.22 (Ubuntu)
Allow: GET,HEAD,POST,OPTIONS
Vary: Accept-Encoding
Content-Length: 0
Connection: close
Content-Type: text/html

Connection closed by foreign host.

এই সম্পর্কে কোন চিন্তা?


আপনি অ্যাপাচি এর কোন সংস্করণ ব্যবহার করেন?

সার্ভার সংস্করণ: অ্যাপাচি / ২.২.২২ (উবুন্টু)

1
আপনি পদ্ধতি সীমিত করছি /outputঅবস্থান, কিন্তু আপনার জন্য বলছি OPTIONSউপর /অবস্থান। পদ্ধতির সীমাটি কেবল গভীর অবস্থানগুলিতে পিতামাতার অবস্থানগুলিতে প্রযোজ্য নয়।
ল্যানজ্জা

উত্তর:


7

স্টাটিক সামগ্রীর জন্য অ্যাপাচি সমস্ত প্রাসঙ্গিক এইচটিটিপি পদ্ধতি প্রয়োগ করে (আসল ফাইলগুলি সরাসরি অ্যাপাচি দ্বারা পরিবেশন করা হয়)। গতিশীল বিষয়বস্তুর জন্য (সিজিআই স্ক্রিপ্টস,mod_php ইত্যাদি) এর জন্য, অ্যাপাচি HTTP পদ্ধতিটি কী তা বিবেচনা করে না (যদি না এটি <Limit>নির্দেশের সাথে স্পষ্টভাবে সীমাবদ্ধ থাকে ) এবং অনুরোধটিকে হ্যান্ডলারের মতো করে দেয়। আপনার স্ক্রিপ্টে নির্দিষ্ট পদ্ধতি হ'ল অ্যাপাচি নয়, উদ্দেশ্য হিসাবে পরিচালনা করতে হবে। এমনকি মানহীন পদ্ধতিগুলি কোনও সমস্যা ছাড়াই ডায়নামিক হ্যান্ডলারগুলিতে পাস করা হয়।

স্ক্রিপ্ট ASDFG / HTTP/1.1দ্বারা পরিচালিত একটি অবৈধ অনুরোধের সাথে পরীক্ষিত mod_php। হ্যান্ডলার স্ক্রিপ্টে অ্যাপাচি থেকে কোনও অভিযোগ পাওয়া ASDFGযায় নি $_SERVER['REQUEST_METHOD']


আপনার উত্তরের জন্য ধন্যবাদ. আমি কিছু HTTP পদ্ধতির অনুমতি দেওয়ার জন্য আমার .htaccess ফাইলটি সম্পাদনা করেছি। আমি অপশন / HTTP / 1.0 সাথে টেলনেট পরীক্ষা করেছি। অনুমোদিত HTTP পদ্ধতিগুলি কখনই পরিবর্তিত হয়নি never এই সমস্যাটি হয়ত অ্যাপাচি সম্পর্কিত নয়, তবে সমস্ত HTTP পদ্ধতি সক্ষম করা আমার পক্ষে এখনও সমস্যা।

আপনি সম্ভবত যা চেষ্টা করছেন ঠিক সেভাবে পোস্ট করা উচিত, আপনি কী প্রতিক্রিয়া দেখার প্রত্যাশা করছেন, পরিবর্তে আপনি কী দেখছেন এবং আপনি কীভাবে সার্ভারের পক্ষ থেকে এই অনুরোধগুলি পরিচালনা করছেন। কোনও OPTIONSঅনুরোধ থামানো উচিত নয় , যতক্ষণ না আপনি স্পষ্টভাবে এটিকে <Limit OPTIONS> deny from all </Limit>বা অনুরূপ অ্যাক্সেস কন্ট্রোল দিয়ে নিষেধ করেন ।
ল্যানজ

2

http://httpd.apache.org/docs/current/mod/core.html এর উপর ভিত্তি করে এই পদ্ধতিগুলিতে directoryএবং .htaccess করে, Limit method [method] ... > ... </Limit>নির্দেশাবলী ব্যবহার করে কনফিগারেশন ফাইলগুলিতে

মূলত আপনাকে নীচের মতো বিকল্পগুলি মন্তব্য করতে হবে যা পদ্ধতিগুলি অবরুদ্ধ করতে ব্যবহৃত হয়।

<Limit POST PUT DELETE>
  Require valid-user
</Limit>


1

এটি সংশোধন করার নিশ্চিত উপায় হ'ল অ্যাপাচি আপনার নির্দিষ্ট ক্ষেত্রে অনুরোধগুলি কেন অস্বীকার করে । আপনি ত্রুটিযুক্ত লগগুলি থেকে এটি শিখতে পারেন।

আমার ক্ষেত্রে, এটি tail -f /usr/local/apache/logs/error_logদিয়েছেন:

[Sun Sep 18 08:39:52.570672 2016] [:error] [pid 32076:tid 140086307448576] 
[client 93.125.93.77] ModSecurity: Access denied with code 501 (phase 2). 
Match of "rx ^((?:(?:POS|GE)T|OPTIONS|HEAD))$" against "REQUEST_METHOD" 
required. [file "/usr/local/apache/conf/modsec-imh/01_base_rules.conf"] [line 
"32"] [id "960032"] [msg "Method is not allowed by policy"] [severity 
"CRITICAL"] [tag "POLICY/METHOD_NOT_ALLOWED"] [hostname "104.244.122.237"] 
[uri "/products/order/items/45"] [unique_id "V96LGGj0eu0AAH1MR8sAAACB"]

এটা একটা নিরাপত্তা নিয়ম উল্লেখ এবং ফাইল তা থেকে আসছে: /usr/local/apache/conf/modsec-imh/01_base_rules.conf। ফাইলটি সম্পাদনা করা আমার সমস্যার সমাধান করে।


-1

পিএইচপি ডকুমেন্টের এই জন্য একটি রেফারেন্স বিভাগ রয়েছে http://php.net/manual/en/features.file-upload.put-method.php

দিকনির্দেশনার জন্য অ্যাপাচি কোর ডকুমেন্টেশনটি http://httpd.apache.org/docs/2.2/mod/mod_ કાર્યવાહી . html এ রয়েছে


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.