ভাল, আপনি এটি 100% রক্ষা করতে পারবেন না তবে আপনি এটি আরও শক্ত করে তুলতে পারেন। এই পদ্ধতিগুলি যা আমি ব্যাখ্যা করছি, আমি তাদের सामना করেছিলাম PluralSight এবং BestDotNetTraining সুরক্ষা পদ্ধতি অধ্যয়নের সময় । তবুও, এই পদ্ধতির কোনওটিই আমি যা চাই তা ডাউনলোড করতে আমার বিরত রাখেনি, তবে ডাউনলোডারকে তাদের সুরক্ষা পাস করার জন্য আমাকে কঠোর করতে খুব কষ্ট হয়েছিল।
প্রসঙ্গ মেনুটি অক্ষম করার জন্য উল্লিখিত অন্যান্য পদ্ধতির পাশাপাশি। ভিডিওটি ডাউনলোড করতে ব্যবহারকারী এখনও ইন্টারনেটডাউনলোড ম্যানেজার বা অন্যান্য অনুরূপ সফ্টওয়্যার এর মতো তৃতীয় পক্ষের সরঞ্জামগুলি ব্যবহার করতে সক্ষম। সুরক্ষা পদ্ধতিটি যা আমি এখানে ব্যাখ্যা করছি তা হল 3rd য় পক্ষের সফ্টওয়্যারটি প্রশমিত করা।
এই সমস্ত পদ্ধতির প্রয়োজনীয়তা হ'ল কোনও ব্যক্তি যখন আপনার ভিডিওগুলি ডাউনলোড করছে তা শনাক্ত করার সময় কোনও ব্যবহারকারীকে ব্লক করা। আপনি আপনার ওয়েবসাইটে অ্যাক্সেস নিষিদ্ধ করার আগে তারা কেবলমাত্র এক বা দুটি ভিডিও ডাউনলোড করতে সক্ষম হয়।
দাবি পরিত্যাগী
কেউ যদি এই পদ্ধতিগুলি অপব্যবহার করে বা অন্যকে বা ওয়েবসাইটগুলির উদাহরণ হিসাবে আমি উল্লিখিত ওয়েবসাইটগুলির ক্ষতি করতে ব্যবহার করে তবে আমি কোনও দায়বদ্ধতা গ্রহণ করব না। এটি কেবল আপনার বৌদ্ধিক পণ্য রক্ষা করতে আপনাকে জ্ঞান ভাগ করে নেওয়ার জন্য।
একটি মেয়াদ শেষ হওয়ার সাথে লিঙ্ক তৈরি করুন gene
এর প্রয়োজনীয়তা হ'ল ব্যবহারকারী প্রতি ডাউনলোড লিঙ্ক তৈরি করা। এটি সহজেই অ্যাজুরে ব্লব স্টোরেজ বা অ্যামাজন এস 3 দ্বারা পরিচালনা করা যায়। আপনি ভিডিও দৈর্ঘ্যের মেয়াদোত্তীর্ণ টাইমস্ট্যাম্পের দ্বিগুণ সাথে একটি ডাউনলোড লিঙ্ক তৈরি করতে পারেন। তারপরে আপনাকে সেই ভিডিও লিঙ্কটি এবং অনুরোধ করা সময়টি ক্যাপচার করতে হবে। এটি পরবর্তী পদ্ধতির জন্য প্রয়োজনীয়। ব্যবহারকারী প্লে বোতামটি ক্লিক করলে আপনি এই লিঙ্কটি ডাউনলোডের লিঙ্কটি তৈরি করছেন।
প্লে বোতাম ইভেন্টে আপনি সার্ভারে একটি অনুরোধ প্রেরণ করবেন এবং লিঙ্কটি পাবেন এবং উত্সটি আপডেট করুন।
ভিডিও অনুরোধের হার থ্রোট্ট করুন
তারপরে আপনি নিরীক্ষণ করুন যে ব্যবহারকারী কীভাবে দ্বিতীয় ভিডিওর জন্য অনুরোধ করে। যদি ব্যবহারকারী খুব দ্রুত ডাউনলোড লিঙ্কের জন্য অনুরোধ করে তবে আপনি তাদের এখনই ব্লক করুন। আপনি এই প্রান্তিকতাটি খুব বেশি বড় রাখতে পারবেন না কারণ আপনি ভুলরূপে কেবলমাত্র ব্রাউজিং বা ভিডিওর মাধ্যমে স্কিমিং করা ব্যবহারকারীদের ব্লক করতে পারেন।
এইচটিটিপি রেঞ্জ সক্ষম করুন
আপনার ভিডিও প্লে করতে কিছু জেএস লাইব্রেরি যেমন ভিডিওজগুলি ব্যবহার করুন , আপনার হেডারে আপনাকে একটি AcceptRangeও ফেরত দিতে হবে। অ্যাজুরে ব্লব স্টোরেজ বক্সের বাইরে এটি সমর্থন করে। এইভাবে ব্রাউজারটি খণ্ড করে ভিডিও খণ্ড ডাউনলোড করতে শুরু করে। সাধারণত 32byte 32byte। তারপরে আপনাকে ভিডিওজগুলি শুনতে timeupdate
হবে এবং ভিডিওটি যে শতাংশে দেখা হয়েছে সে সম্পর্কে আপনার সার্ভারটি আপডেট করতে হবে। ভিডিওটি যে শতাংশে দেখা হয়েছে তার শতাংশ যে ভিডিও বিতরণ করা হয়েছে তার চেয়ে বেশি হতে পারে না। এবং যদি আপনি কোনও শতাংশ পরিবর্তন না পেয়ে কোনও ভিডিও সামগ্রী সরবরাহ করে থাকেন তবে আপনি ব্যবহারকারীকে অবরুদ্ধ করতে পারেন। কারণ তারা অবশ্যই ডাউনলোড করছে।
এটি বাস্তবায়ন করা জটিল কারণ ব্যবহারকারী যখন ভিডিওটি সামনে বা পিছনে ফেলে যেতে পারেন তখন আপনি যখন এটি বাস্তবায়ন করেন তখন এ সম্পর্কে সচেতন হন।
এভাবেই বেস্টডোটনেট ট্রেনিং পরিচালনা করছে timeupdate
myPlayer.ready(function () {
//var player = this;
this.src({
type: "video/mp4",
src: videoURL
});
if (videoId) {
myPlayer.play();
this.on('timeupdate', function () {
var currentPercent = parseInt(100 * myPlayer.currentTime() / myPlayer.duration());//calcualte as percentage
if (currentPercent % 5 == 0) {
//send percentage to server
SaveVideoDurationWatched(currentPercent, videoId);
}
});
}
});
যাইহোক, ব্যবহারকারী স্ট্রিমিংয়ের মাধ্যমে কোনও ফাইল ডাউনলোড করে এমন কিছু ডাউনলোড পদ্ধতি ব্যবহার করে এটি ঘিরে কাজ করতে সক্ষম হয়। প্রায় সি # এটি বাক্সের বাইরে এবং নোডেজগুলির জন্য, আপনি request
মডিউলটি ব্যবহার করতে পারেন । তারপরে আপনাকে স্টপওয়াচ শুরু করতে হবে, প্রাপ্ত প্যাকেজটি শুনতে হবে এবং প্রাপ্ত মোট বাইটকে মোট আকারের সাথে তুলনা করতে হবে। এইভাবে আপনি শতাংশ এবং সেই পরিমাণ শতাংশের জন্য ব্যয় করা সময় গণনা করতে পারেন। তারপরে Thread.Sleep()
থ্রেডটি যে পরিমাণে অপেক্ষা করতে হবে তার পরিমাণটি আপনি সাধারণত ভিডিওটি দেখুন কিনা তা বিলম্ব করতে এই জাতীয় কিছু ব্যবহার করুন । এছাড়াও ঘুমের আগে ব্যবহারকারী সার্ভারে কল করতে পারে এবং প্রাপ্ত শতাংশের আপডেট করতে পারে। সুতরাং সার্ভারটি মনে করে যে ব্যবহারকারী আসলে একটি ভিডিও দেখছে।
গণনাটি এরকম কিছু হবে, উদাহরণস্বরূপ, যদি আপনি গণনা করেন যে আপনি এখন পর্যন্ত 1 শতাংশ পেয়েছেন, তবে আপনি ডাউনলোডের থ্রেডটি ঘুমানোর জন্য অপেক্ষা করতে হবে সেই পরিমাণটি গণনা করতে পারেন। এইভাবে আপনি কোনও ভিডিওর আসল দৈর্ঘ্যের চেয়ে দ্রুত ডাউনলোড করতে পারবেন না। যদি কোনও ভিডিও 24 মিনিটের হয়। এটি ডাউনলোড করতে 24 মিনিট সময় লাগবে। (আরও প্রথম থ্রোহোল্ড আমরা প্রথম পদ্ধতিতে রেখেছি)
original video length 24 minute
24 min *60000 = 1,440,000 miliseconds
1,440,000 % 100 = 14,400 milisecond is needed to download one percent
ব্রাউজার এজেন্ট পরীক্ষা করুন
আপনি যখন কোনও ওয়েবপৃষ্ঠা পরিবেশন করছেন এবং ভিডিও লিঙ্কটি পরিবেশন করছেন বা অগ্রগতি আপডেটের অনুরোধটি গ্রহণ করবেন আপনি ব্রাউজার এজেন্টের দিকে নজর রাখতে পারেন। যদি এটি আলাদা হয় তবে ব্যবহারকারীকে নিষিদ্ধ করুন।
কিছু সচেতন থাকুন যে কোনও পুরানো ব্রাউজার এই তথ্যটি দেয় না। সুতরাং ভিডিও অনুরোধ এবং ওয়েবপৃষ্ঠা অনুরোধ উভয় ক্ষেত্রেই ব্রাউজার এজেন্ট না থাকলে আপনার এটিকে উপেক্ষা করা উচিত। তবে যদি একটি অনুরোধের কাছে থাকে এবং অন্য কোনওটির কাছে না থাকে, তবে আপনার ব্যবহারকারীকে নিষিদ্ধ করা উচিত।
এটিকে ঘিরে কাজ করার জন্য ব্যবহারকারী ব্রাউজার এজেন্টের শিরোনামটিকে ম্যানুয়ালি হেডলেস ব্রাউজারের মতো সেট করতে পারেন যা তারা ডাউনলোড লিঙ্কটি ক্যাপচার করতে ব্যবহার করছে।
রেফারার শিরোনাম পরীক্ষা করুন
যখন রেফারার আপনার হোস্ট ইউআরএল বা আপনি যে ভিডিওটি পরিবেশন করছেন সেই পৃষ্ঠার ইউআরএল ব্যতীত অন্য কিছু হলে আপনি ব্যবহারকারীকে নিষিদ্ধ করতে পারেন, কারণ তারা ডাউনলোড লিঙ্কটিকে অন্য ট্যাবে বা অন্য কোনও অ্যাপ্লিকেশনে রেখেছেন। এমনকি আপনি অগ্রগতি আপডেট অনুরোধের জন্য এটি করতে পারেন।
এর জন্য প্রয়োজনীয়তার সাথে ভিডিওর ম্যাপিং এবং সেই পৃষ্ঠাটি প্রদর্শিত হয় যা সেই ভিডিওটি দেখায়। ইউআরএলটি কী হওয়া উচিত তা বোঝার জন্য আপনি কিছু কনভেনশন বা প্যাটার্ন তৈরি করতে পারেন এটি আপনার ডিজাইনের উপর নির্ভর করে।
এটির চারপাশে কাজ করার জন্য ব্যবহারকারীরা ভিডিওগুলি ডাউনলোড করার সময় রেফারার শিরোনামটি ম্যানুয়ালি ডাউনলোড পৃষ্ঠার ইউআরএলের সমান করতে পারেন।
অনুরোধের মধ্যে সময় গণনা করুন
যদি আপনি এতগুলি অনুরোধ পেয়ে থাকেন যে তাদের মধ্যে সময় একই হয়, তবে আপনার ব্যবহারকারীকে ব্লক করা উচিত। ভিডিও লিঙ্ক প্রজন্মের অনুরোধের মধ্যে কত সময় আছে তা ক্যাপচার করার জন্য আপনার এটি রাখা উচিত। যদি সেগুলি একই হয় (প্লাস / বিয়োগ কিছু প্রান্তিক) এবং এটি বেশ কয়েকবারের বেশি হয়, তবে আপনি ব্যবহারকারীকে নিষিদ্ধ করতে পারেন। কারণ যদি এমন কোনও বট থাকে যা আপনার ওয়েবসাইট বা ভিডিওগুলিকে ক্রল করতে চলেছে তবে সাধারণত তাদের অনুরোধের মধ্যেই তাদের ঘুমের সময় একই থাকে। সুতরাং আপনি যদি প্রতিটি অনুরোধ গ্রহণ করেন, উদাহরণস্বরূপ, প্রতি 1.3 (প্লাস / মিনিট কিছু বিচ্যুতি) মিনিট। তারপরে আপনি একটি অ্যালার্ম বাড়াবেন। এর জন্য, আপনি অনুরোধগুলির মধ্যে বিচ্যুতি জানতে কিছু পরিসংখ্যানের গণনা ব্যবহার করতে পারেন।
এটি কার্যকর করতে, ব্যবহারকারী অনুরোধগুলির মধ্যে একটি এলোমেলো ঘুমের সময় রাখতে পারেন।
কোডের উদাহরণ
আমার একটি রেপো রয়েছে বহুবর্ষদৃষ্টি-ডাউনলোডার যা এটি অর্ধেক করে চলেছে । আমি প্রায় 5 বছর আগে এই রেপো তৈরি করেছি। কারণ আমি এটি অধ্যয়নের উদ্দেশ্যে এবং কেবল নিজের ব্যক্তিগত ব্যবহারের জন্য লিখেছি, রেপো এখনও পর্যন্ত কোনও আপডেট পায় নি এবং আমি আপডেট করতে যাচ্ছি না বা এটি দিয়ে কাজ করা সহজ করে তুলছি না। এটি কীভাবে করা যায় তার একটি উদাহরণ।