কীভাবে আমার সাইটে রিসোর্সগুলির গরম লিঙ্কিং ("চিত্র চুরি" / "ব্যান্ডউইথ চুরি") প্রতিরোধ করবেন?


8

আমি "চূড়ান্ত" বিরোধী হট লিঙ্ক লেখার চেষ্টা করছি htaccess ...

নেটে আপনি অনেকগুলি উদাহরণ / টিউটোরিয়াল / জেনারেটর খুঁজে পেতে পারেন তবে এর মধ্যে অনেকগুলি ভুল বা অসম্পূর্ণ (বা উভয়ই)।

এই বৈশিষ্ট্যগুলি আমি সন্ধান করছি:

  • HTTP_REFERER কোনও বিদেশী সাইট হলে ফাইল এক্সটেনশনের তালিকার জন্য হট লিঙ্কিং অবশ্যই ব্লক করা উচিত।
  • .Htaccess এ হারকোড না দিয়ে অবশ্যই বর্তমান ডোমেনের (দুহ) সাথে গরম লিঙ্কিংয়ের অনুমতি দিতে হবে।
    • বর্তমান ডোমেনের জন্য এটি অবশ্যই http এবং https এর অধীনে কাজ করবে।
    • বর্তমান ডোমেনের জন্য এটি অবশ্যই www এবং www ছাড়াই কাজ করবে।
  • এই নিয়মগুলিতে (আমাদের বন্ধু গুগলের মতো) ব্যতিক্রমী ডোমেন যুক্ত করতে সক্ষম হতে হবে এবং এই ডোমেনগুলি অবশ্যই http এবং https এর অধীনে এবং www এর সাথে বা www ছাড়াই কাজ করতে পারে।

এটি আমি এ পর্যন্ত অর্জন করেছি:

<IfModule mod_rewrite.c>

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mydomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com/.*$ [NC]
RewriteRule \.(gif|jpe?g|png|zipx?)$ - [NC,F]

</IfModule>

আমার প্রশ্নগুলো:

  1. .Htaccess mydomain.comএ হার্ডকোড এড়াতে কীভাবে ? (এটি মোতায়েন করতে পেরে দুর্দান্ত হবে। আমার প্রত্যেকটি ডোমেনের মধ্যে এটির প্রতিটিটির জন্য এটির সংশোধন না করেই অ্যাক্সেস।
  2. আমার রাইরাইটরুলে, ডান gif|jpe?g|png|zipx?সমান gif|jpg|jpeg|png|zip|zipx? (নিয়মিত অভিব্যক্তিগুলিতে দুঃখিত এখনও নতুন।)
  3. আপনি আমার .htaccess এ খারাপ কিছু দেখতে পান যা সম্পর্কে আমি অজানা?

# 1 এর জন্য আমি জানি এটি কিছুটা সম্ভব। আমার সর্বাধিক নিকটস্থ হ'ল এই স্নিপেট যা ডোমেনটিকে হার্ডকোড না করে URL থেকে www কে সরিয়ে দেয়। আমার প্রশ্ন # 1 এ এই পদ্ধতিটি ব্যবহার করার কোনও উপায় আছে?

RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]

হালনাগাদ:

আমি সমাধানগুলি সম্পর্কে সচেতন যেগুলি নিয়মিত চিত্রের পরিবর্তে জলছবিযুক্ত চিত্রটি পরিবেশন করবে। তবে আমি এই ধরণের সমাধান খুঁজছি না। আমি একটি সর্বজনীন সমাধান চাই (403 ত্রুটিগুলি পরিবেশন করুন) যা সমস্ত ধরণের বাইনারি ফাইলগুলির জন্য কাজ করবে (জিপ, এক্সি, আইসো, জেপিজি, পিএনজি, জিআইএফ ...)।


আইএমএইচও অ্যাপাচি অন্তত অন্তর্ভুক্ত করার বিকল্প হিসাবে এই কনফিগারেশন ফাইলটির সাথে আসা উচিত। আমি আশ্চর্য হই যে আপনি / আমরা যদি একটি সাথে আসতে পারি তবে কোনও অ্যাপাচি বিকাশকারী এটি যুক্ত করতে ইচ্ছুক হবে কিনা?
ক্রিস নাভা


@ টম ও'কনর আকর্ষণীয় পড়া এবং আমি এটির সাথে একমত। তবে আমার ক্ষেত্রে আমার স্ক্রিপ্টটি বড় বাইনারি ফাইলগুলির জন্য ব্যবহৃত হবে (যেমন জিপ, এক্সি ...) এবং চিত্রগুলি এবং এ জাতীয় নয়। সুতরাং আমার এখনও উত্তর পাওয়া দরকার। হ্যাঁ ব্যান্ডউইথ সস্তা, তবে 500 এমবি জিপ 100 কেবি
জেপিজির মতো নয়

আমি কোনও উত্তর পাচ্ছিলাম না। আমি কেবল বিচরণ করছিলাম;)
টম ও'কনোর

উত্তর:


9

আপনি সিপিইউ চক্রকে "নষ্ট" করবেন কিনা তা বিচার্য নয় (রেফারার সাইটটি (যে লিঙ্কিং করছে এটি অনুমোদিত) অনুমোদিত কিনা বা আপনাকে অনুরোধের ডেটাতে কিছু প্রক্রিয়াকরণ করতে হবে তা নির্ধারণ করতে)। ন্যূনতম সিপিইউ চক্র
নষ্ট করার সময় আপনি ব্যান্ডউইথটি সংরক্ষণ করতে পারেন ।

আছে এ্যাপাচি দস্তাবেজে কিছু উদাহরণ যে কি তুমি আসলে কি চাই। এইটা:

SetEnvIf Referer example\.com localreferer
<FilesMatch \.(jpg|png|gif)$>
Order deny,allow
Deny from all
Allow from env=localreferer
</FilesMatch>

সর্বাধিক প্রযোজ্য বলে মনে হচ্ছে (এবং মোড_উইরাইটের পুরো ওজনের প্রয়োজন নেই)।
আপনি অতিরিক্ত SetEnvIfএবং Allowনির্দেশাবলী সহ অতিরিক্ত বৈধ রেফারার যুক্ত করতে পারেন ।


খারাপ নয়, তবে আমার এমন একটি সমাধান দরকার যা এইচটিসেসে ডোমেনের নামটি হার্ডকোড না করে (আমার প্রশ্নটি মনোযোগ সহকারে পড়ুন)।
অ্যালেক্সভি

তারপরে আপনার অলাইভার প্রস্তাবিত (যেমন এখনও একটি তালিকা, নিয়মিত প্রকাশ, বা অনুমোদিত
রেফারারদের

অগত্যা আপনি আমার ২ য় কোড ব্লকের দিকে নজর দিলে আপনি দেখতে পাচ্ছেন এটি সম্পন্ন হতে পারে ... আমাকে কেবল এটি আমার ক্ষেত্রে খাপ
খাইয়ে

আপনি %{HTTP_HOST}আপনার রুলসেটে ইউআরএল হোস্টটি প্রবেশ করানোর জন্য আপনার দ্বিতীয় কোড ব্লক (বা কেবলমাত্র কম রেগেক্স পার্সিংয়ের জন্য অনুরূপ ম্যাজিক ) এর ক্লিনআপ লজিক ব্যবহার করতে পারেন , যা আপনাকে গতিশীল স্থানীয় ডোমেনগুলি কিনে নিতে হবে (ব্যাপকভাবে পরীক্ষা করা), তবে আপনাকে এখনও কঠোর করার প্রয়োজন হবে গুগলের মতো "চমৎকার" বাহ্যিক রেফারার কোড (রেফারার, ব্যবহারকারী এজেন্ট, আইপি ইত্যাদি)
ভোরেটাক

3

কোনও নিয়ম লেখার বিষয়ে কীভাবে, যদি রেফারার অজানা (নিষিদ্ধের) থাকে তবে কেবলমাত্র একটি পিএইচপি ফাইল কল করুন যেখানে আপনি চিত্রটিকে পরম হিসাবে পাস করেন, এবং পিএইচপি ফাইলে, কেবল বড় লাল রঙে রেখেছেন: "এই ফাইলটি MYWEBSITE.COM থেকে এসেছে এবং এখানে দেখানোর মতো কোনও সরকারী অনুমোদন নেই "।

আপনার প্রশ্নের হিসাবে, আপনার নিয়মকে বিশ্বব্যাপী করুন। আমি ভুল হলে আমাকে সংশোধন করুন, তবে কোনও ভোস্টের আগে বিধি ঘোষণা করা হলে এটি সমস্ত ভোস্টের ("ধরণের" ডিফল্ট নিয়ম ") হিসাবে প্রয়োগ করা হবে।

এবং অন্য ধারণাটি সহজ: কেবলমাত্র একটি পিএইচপি ফাইলে পুনর্নির্দেশ করুন (এখানে filter.php) যা অনুমোদিত ওয়েবসাইটে সন্ধান করবে এবং সবকিছু ঠিক থাকলে প্রয়োজনীয় ফাইলটি ফিরিয়ে দেবে:

RewriteRule /(.*)\.jpg$ /filter.php?im=$2\.jpg [QSA,L]

ইন filter.phpমাত্র লোড পরিবর্তনশীল vhost দেখুন বা ওই জাতীয় কিছু একটি তালিকা:

if (isset($_SERVER['HTTP_HOST'])) {
   if ((mb_ereg('thereferers\.I\.HATE\.com',HOST) !== false) ) {
       ... your code ...
   }
}

এটি একটি সম্ভাবনা, তবে আমি এটির (পিএইচপি ব্যবহার করে) সিপিইউ "নষ্ট" করতে চাই না। আমি কেবল 403s পরিবেশন করতে চাই। পিএইচপি সহ, আপনাকে সমস্ত ক্যাশে সম্পর্কিত সমস্যাগুলি পরিচালনা করতে হবে এবং এটি বেশ জটিল হতে পারে।
অ্যালেক্সভি

1

ক্লাউডফ্লেয়ার আপনার জন্য কিছুটা সহায়ক হতে পারে: http://www.cloudflare.com

এটি কেবল চিত্রগুলির জন্যই কাজ করে তবে মনে হয় এটি আপনার পরে রয়েছে।

হটলিঙ্ক সুরক্ষা

অফ-সাইট লিঙ্কিং প্রতিরোধ করতে আপনার চিত্রগুলির জন্য হটলিঙ্ক সুরক্ষা স্বয়ংক্রিয়ভাবে সক্ষম করুন। রেফারাররা যেগুলি অঞ্চলে নেই এবং ফাঁকা নয়, তাদের অ্যাক্সেস প্রত্যাখ্যান করা হবে। সমর্থিত ফাইল এক্সটেনশনগুলি হ'ল জিএফ, আইকো, জেপিজি, জেপেইগ এবং পিএনজি।

সুরক্ষিত: http://mydomain.com/images/pic.jpg বাইপাস করতে: http://mydomain.com/images/hotlink-ok/pic.jpg


0

প্রশ্ন 1:


RewritEngine on RewritCond% {HTTP_REFERER}! ^ Http: // (। +)?
Thyite.com/ [NC] RewritCond% {HTTP_REFERER}! ^ W RewritRule
। *। (Jpe? G | gif | bmp | png) $ - [এফ]

প্রশ্ন 2:

হ্যাঁ

প্রশ্ন 3

আমি আমার ব্যবহার করব


প্রশ্ন 1 এর জন্য, "thyite.com.com" হার্ডকোডযুক্ত তাই এটি সহায়ক নয়।
অ্যালেক্সভি

@ অ্যালেক্সভি: তা হয়নি। আপনি যে ঠিকানাটি চান তা দিয়ে শুধু thyite.com প্রতিস্থাপন করুন এবং অন্যান্য রেফাররা কোনও চিত্র ডাউনলোড করতে ব্যর্থ হবেন
জেনেসিস

এবং আমি কীভাবে নিজেকে হার্ডকডিং ছাড়াই অনুমতি দেব?
অ্যালেক্সভি

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