.Htaccess ফাইলে একটি দীর্ঘ লাইন ভাঙ্গুন


10

আমি আমার .htaccess ফাইলে একটি বিষয়বস্তু-সুরক্ষা-নীতি শিরোনাম সেট করছি এবং এটি অত্যন্ত দীর্ঘ একক লাইন হয়ে উঠেছে, যা পরিচালনা করা বিরক্তিকর। এই লাইনটি আরও পরিচালিত সাবস্ট্রিংগুলিতে বিভক্ত করার কোনও উপায় আছে কি?

তুচ্ছ উদাহরণ হিসাবে, বলুন আমি একটি শিরোনাম পছন্দ করছি

Header set Content-Security-Policy "deafult-src http://domainA.com; script-src http://domainB.com"

আমি (স্পষ্ট ব্রেকিং সমস্যা ছাড়াই) এর মতো কিছু দিয়ে আমার নির্দিষ্ট কেসটি সম্পন্ন করতে পারি

Header append Content-Security-Policy "default-src http://domainA.com;"
Header append Content-Security-Policy "script-src http://domainB.com"

তবে এটি স্ট্রিংয়ে কমা প্রবেশ করবে, তাই আমি এখনও আগ্রহী ছিলাম যদি এর থেকে আরও ভাল উত্তর পাওয়া যায় যা সাধারণত প্রয়োগ করা যেতে পারে, প্রতিক্রিয়ায় অতিরিক্ত অক্ষর যোগ না করে।

আদর্শ হতে পারে যদি এমন কিছু সংক্ষিপ্ত চরিত্র থাকে যা আমি স্ট্রিংকে ছোট ছোট ভাগে ভাঙতে ব্যবহার করতে পারি, যেমন

Header set Content-Security-Policy "default-src http://domainA.com;"
\" script-src http://domainB.com"

অথবা

Header set Content-Security-Policy "default-src http://domainA.com;"^
" script-src http://domainB.com"

অথবা

Header set Content-Security-Policy "default-src http://domainA.com;"
+" script-src http://domainB.com"

বিকল্পভাবে, যদি আমি কিছু পরিবর্তনশীল সেট করতে পারি এবং কেবল কিছু করার জন্য তাদের বিষয়বস্তু ডাম্প করতে পারি

a="default-src http://domainA.com;"
b=" script-src http://domainB.com"
Header set Content-Security-Policy $a$b

এটি আরও অনেক বেশি পরিচালনাযোগ্য হবে।

একটি অনুরূপ বিষয় ছিল যা এনজিনেক্সের জন্য উঠে এসেছিল এবং উপসংহারটি কেবল দীর্ঘ লাইনের সাথে বেঁচে থাকার জন্য ছিল (তারা একটি দীর্ঘ রেইজেক্সের সাথে ডিল করছে, সুতরাং সংযোজন সমাধানটি কাজ করবে না); এটি কি আপাচি-র ক্ষেত্রেও হতে চলেছে?


আপনার প্রতিটি সাবস্ট্রিংয়ের পরে কী শিফট ধরে রাখা এবং এন্টার টিপে টিপতে হবে?
স্টিক্সো

@ স্টিক্সো নো, এই সমস্যাটি কীভাবে কনফিগ ফাইলগুলিতে স্ট্রিংগুলি পার্স করে তা সম্পর্কিত। সাধারণত (সাধারণত এইচটিএমএল) সম্পাদকরা লাইন ব্রেক (যেমন, <br />) এবং অনুচ্ছেদের বিরতি (</p>) এর মধ্যে পার্থক্য করার জন্য এ জাতীয় শর্টকাট ব্যবহার করবেন। এটি মার্কআপ ফর্ম্যাটটি পার্স করা এবং সম্পাদকের উপর নির্ভর করবে। অ্যাপাচি কনফ ফাইলগুলি খাঁটি পাঠ্য, এবং যেমন একটি অনুচ্ছেদের লাইনের মধ্যে কোনও পার্থক্য নেই (সংশোধনকারী নির্বিশেষে, প্রবেশ করান একটি একক, সিস্টেম-নির্ভর ক্যারিজ-রিটার্ন অক্ষর যেমন \ n বা \ r তৈরি করে)।
ম্যাক্সপ্যাটার্ফের্টি

উত্তর:


14

নিম্নলিখিত কাজ করা উচিত:

 Header set Content-Security-Policy "default-src http://domainA.com; \
      script-src http://domainB.com"

আমি এটি পরীক্ষা করেছি এবং পেয়েছি Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
কাস্পার্ড

1
@ ক্যাস্পার্ড আপনার চালানো দরকারa2enmod headers
ম্যাক্সপ্রেফার্টি

@ বাজ্জাডিপি আকর্ষণীয়! আমি আশা করবো যে এটির ফলে সার্ভারটি একটি পালানো নিউলাইন প্রেরণ করবে, তবে মনে হয় এটি আমার যেমন ইচ্ছা তেমন একরকম হয়ে যায় এবং ক্লায়েন্টের দৃষ্টিকোণ থেকে অবর্ণনীয়।
ম্যাক্সপ্যাডফের্টি

1
বাহ, প্রকৃতপক্ষে, স্পষ্টতই আপনি কোনও সাদা স্থানের অক্ষরটি এড়িয়ে যেতে পারেন। \ <ট্যাব> এর সাথেও কাজ করার বিষয়টি নিশ্চিত করেছেন। .htaccess কখনও এত ভাল লাগবে না!
ম্যাক্সপ্রেডফের্টি

1
হু, এমনকি রেইগেক্স ভেঙে কাজ করে! @ বাজাডাডিপি, আপনি যে উত্তরসূত্রটি আমি উল্লেখ করেছি সেই প্রশ্নের উপর এই উত্তরটি ফেলে দিতে চাইছি, সেখানেও কাজ করতে পারে।
ম্যাক্সপ্রেডফের্টি

5

হ্যাঁ - ব্যাকস্ল্যাশ একটি লাইন-ধারাবাহিকতা হিসাবে কাজ করে । এটি অ্যাপাচি ২.৪ ডকুমেন্টেশনের মধ্যে [ https://httpd.apache.org/docs/2.4/configuring.html#page-header] এ সমাধিস্থ করা হয়েছে

গুরুত্বপূর্ণ নিয়ম:

  1. একটি লাইনের মধ্যে সাদা জায়গা ঠিক আছে, যেমন। যে কোনও ট্যাব এবং স্পেসের সংখ্যা;
  2. চূড়ান্ত ব্যতীত অন্য সমস্ত লাইনের সর্বশেষ অক্ষরটি অবশ্যই ব্যাকস্ল্যাশ হতে হবে ; <
  3. চূড়ান্ত লাইনটি ব্যাকস্ল্যাশ দিয়ে শেষ করতে হবে না ;
  4. অ্যাপাচি মন্তব্য অক্ষর (#) কোনও লাইন মন্তব্য করার জন্য ব্যবহার করা যাবে না

যদি এই নিয়মগুলি মানা না হয় তবে সার্ভারটি একটি ত্রুটি 500 দিয়ে সাড়া দেবে।

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