আমি কীভাবে আমার ওয়েবসাইট পরিদর্শন করা কম্পিউটারগুলিকে অনন্যভাবে সনাক্ত করতে পারি?


184

আমি যে ওয়েবসাইটটি তৈরি করছি তা ভিজিটর প্রতিটি কম্পিউটারকে অনন্যভাবে চিহ্নিত করার একটি উপায় খুঁজে বের করতে হবে। কীভাবে এটি অর্জন করবেন সে সম্পর্কে কারও কোনও পরামর্শ আছে?

কারণ আমি সমাধানটি সমস্ত মেশিন এবং সমস্ত ব্রাউজারে কাজ করতে চাই (কারণগুলির মধ্যে) আমি জাভাস্ক্রিপ্ট ব্যবহার করে একটি সমাধান তৈরি করার চেষ্টা করছি।

আমি সাহায্যের প্রশংসা করি। ধন্যবাদ।

সম্পাদনা করুন:

কুকিজ না করবে না।

কম্পিউটারের সাথে কোনও হার্ডওয়্যার পরিবর্তন ঘটেনি বলে ধরে নিয়ে মূলত একটি গাইড তৈরি করার দক্ষতা আমার কাছে প্রয়োজন যা কম্পিউটারের জন্য অনন্য এবং পুনরাবৃত্তযোগ্য। আমি যে দিকনির্দেশের কথা ভাবছি সেগুলি হ'ল নেটওয়ার্ক কার্ডের ম্যাক এবং এই প্রকৃতির অন্যান্য তথ্য যা ওয়েব সাইটটিতে মেশিনকে আইডি করবে will


4
আপনি তাদের নেটওয়ার্ক কার্ডের ম্যাক পেতে পারবেন না - আইপি এর মধ্যে সেই তথ্য নেই, আপনি সবচেয়ে ভাল যেটি পেতে পারেন তা হ'ল তাদের আইএসপি গেটওয়ের আইপি ঠিকানা। কিছু আইএসপিগুলির জন্য যা প্রদত্ত শহরের সমস্ত ব্যবহারকারীদের জন্য একই হতে পারে।
মার্টিন বেকেট

1
আপনি চান না যে ব্যবহারকারীটি এটির ছলনা করতে সক্ষম হবেন। উত্তর অবশ্যই এটি ব্যবহারকারী মেশিনে আপনার কিছু ব্যক্তিগতকৃত উপাদান ইনস্টল করা ছাড়া করা যায় না।
অ্যান্থনিডব্লু জোন্স 21

ম্যাক ঠিকানাগুলি তুচ্ছভাবে ছলছল করা সহজ। আমার ক্রমযুক্ত ছোট্ট ওয়্যারলেস সংযোগটি আপনার ম্যাকের মধ্য দিয়ে যাবে, এর নিজস্ব বিকল্প তৈরি করবে বা আপনি যা নির্দিষ্ট করেছেন সেটি ব্যবহার করবে।
কেন্ট ব্রিউস্টার

এটি করা যায় না - কুকিগুলি আপনার সেরা বাজি
ড্রেনমন

এই পৃষ্ঠায় আমার উত্তর পড়ুন দয়া করে। এই সমস্যার জন্য আমার খুব ভাল ধারণা আছে :)
মাহদি জাজিনি

উত্তর:


58

উচ্চতর স্তরের নির্ভুলতার সাথে ব্যবহারকারীকে সনাক্ত করার জন্য এই লোকগুলি একটি ফিঙ্গারপ্রিন্টিং পদ্ধতি তৈরি করেছে:

https://panopticlick.eff.org/static/browser-uniqueness.pdf

আধুনিক ওয়েব ব্রাউজারগুলি যে ডিগ্রিটিতে "ডিভাইস ফিঙ্গারপ্রিন্টিং" সাপেক্ষে সংস্করণ এবং কনফিগারেশন তথ্যের মাধ্যমে তারা অনুরোধের পরে ওয়েবসাইটগুলিতে প্রেরণ করবে তা আমরা তদন্ত করি। আমরা একটি সম্ভাব্য ফিঙ্গারপ্রিন্টিং অ্যালগরিদম বাস্তবায়িত করেছি এবং আমাদের পরীক্ষার দিক, প্যানোপটিক্লিক.এফ.আর.আর.র্গ. দেখতে যাওয়া ব্রাউজারগুলির একটি বৃহত নমুনা থেকে এই আঙ্গুলের ছাপগুলি সংগ্রহ করেছি । আমরা লক্ষ্য করেছি যে আমাদের আঙুলের মুদ্রণের বিতরণে কমপক্ষে 18.1 বিট এনট্রপি রয়েছে, যার অর্থ আমরা যদি এলোমেলোভাবে কোনও ব্রাউজার বেছে নিই, তবে সর্বোপরি আমরা আশা করি যে অন্য 286,777 ব্রাউজারে কেবল একটিই তার আঙুলের ছাপটি ভাগ করবে। ফ্ল্যাশ বা জাভা সমর্থনকারী ব্রাউজারগুলির মধ্যে পরিস্থিতি আরও খারাপ, গড় ব্রাউজারের সাথে সনাক্তকরণের তথ্য কমপক্ষে 18.8 বিট বহন করে। ফ্ল্যাশ বা জাভা সহ 94.2% ব্রাউজার আমাদের নমুনায় অনন্য ছিল।

প্রত্যাবর্তনকারী দর্শকদের পর্যবেক্ষণ করে আমরা অনুমান করি যে সময়ের সাথে সাথে ব্রাউজারের আঙ্গুলের ছাপগুলি কীভাবে দ্রুত পরিবর্তন হতে পারে। আমাদের নমুনায়, আঙুলের ছাপগুলি বেশ দ্রুত পরিবর্তিত হয়েছিল, তবে একটি সাধারণ হিউরিস্টিক সাধারণত অনুমান করতে সক্ষম হয় যখন একটি ফিঙ্গারপ্রিন্ট পূর্ববর্তী পর্যবেক্ষণ করা ব্রাউজারের ফিঙ্গারপ্রিন্টের একটি "আপগ্রেড" সংস্করণ ছিল, যেখানে অনুমানের 99.1% সঠিক ছিল এবং মাত্র 0.86% এর মিথ্যা ধনাত্মক হার ।

ব্রাউজারের কী কী গোপনীয়তা হুমকির বিষয়ে প্রয়োগ করা হয়েছে তা আমরা আলোচনা করি এবং কী প্রতিরোধের তা প্রতিরোধের জন্য উপযুক্ত হতে পারে। ফিঙ্গারপ্রিন্টিবিলিটি এবং কিছু ধরণের ডিবাগাবিলিটি থেকে রক্ষা করার মধ্যে একটি বাণিজ্য রয়েছে, যা বর্তমান ব্রাউজারগুলিতে গোপনীয়তার বিরুদ্ধে ভারী হয়। অদ্ভুতভাবে, অ্যান্টি-ফিঙ্গারপ্রিন্ট গোপনীয়তা প্রযুক্তিগুলি যদি যথেষ্ট পরিমাণ লোক ব্যবহার না করে তবে তারা নিজেকে পরাস্ত করতে পারে; আমরা দেখাই যে কিছু গোপনীয়তার ব্যবস্থা বর্তমানে এই প্যারাডক্সের শিকার হয়, তবে অন্যরা তা করে না ...


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

9
@ অলিভার আপনি সঠিক এটি আপনাকে কোনও প্লেটে উত্তর দেয় না। এর জন্য আরও পড়ার দরকার, জড়িত সমস্ত বিষয় বোঝা এবং কেন একটি সাধারণ কোড স্নিপেট সম্পূর্ণরূপে কাজ করার সম্ভাবনা কম। একজন উদ্যোগী বিকাশকারী একটি গ্রন্থাগার লিখতে পারে যা সমস্ত কঠোর পরিশ্রম করে এবং ভবিষ্যতে উপকার পেতে একটি "দ্রুত সমাধান" সন্ধানকারী লোকদের সক্ষম করে।
জোনাথন

2
উত্তরটিও কেবল লিংক। পিডিএফ বর্ণিত কৌশলগুলির সংক্ষিপ্তসার পিডিএফ অনুপলব্ধ হয়ে উঠলে প্রশংসা হবে।
দামিয়ান ইয়ারিক

2
এখানে একটি ওপেন সোর্স প্যাকেজ এবং সহজ পর পথ আঙ্গুলের ছাপ বাস্তবায়ন করার জন্য আমার উত্তর দেখুন stackoverflow.com/a/47536192/3650835
KayakinKoder

তাই আমি এলোমেলো বড় সংখ্যার সাথে আরও ভালভাবে একটি "কুকি" তৈরি করতে পারি: ডি
লুইস মরিসিও

49

ভূমিকা

আমি জানি না যে কেবল কোনও ব্রাউজার ব্যবহার করে মেশিনগুলি অনন্যভাবে চিহ্নিত করার উপায় আছে বা কখনও হবে। প্রধান কারণগুলি হ'ল:

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

এমনকি কুকি ব্যবহার না করে কোনও কম্পিউটারকে ট্র্যাক করার উপায় থাকলেও সর্বদা এটির বাইপাস করার একটি উপায় থাকবে এবং সফ্টওয়্যার যা এটি স্বয়ংক্রিয়ভাবে করবে। আপনার যদি কম্পিউটারের উপর ভিত্তি করে কিছু আবিষ্কার করতে হয় তবে আপনাকে একটি নেটিভ অ্যাপ্লিকেশন লিখতে হবে (অ্যাপল স্টোর / অ্যান্ড্রয়েড স্টোর / উইন্ডোজ প্রোগ্রাম / ইত্যাদি)।

আপনি যে প্রশ্নটি করেছিলেন সেটির উত্তর আমি দিতে সক্ষম নাও হতে পারছি তবে সেশন ট্র্যাকিং কীভাবে প্রয়োগ করা যায় তা আমি আপনাকে দেখাতে পারি। সেশন ট্র্যাকিংয়ের মাধ্যমে আপনি আপনার সাইটটিতে পরিদর্শন করা কম্পিউটারের পরিবর্তে ব্রাউজিং সেশনটি ট্র্যাক করার চেষ্টা করছেন। সেশনটি ট্র্যাক করে আপনার ডাটাবেস স্কিমাটি দেখতে পাবেন:

sesssion:
  sessionID: string
  // Global session data goes here

  computers: [{
     BrowserID: string
     ComputerID: string
     FingerprintID: string
     userID: string
     authToken: string
     ipAddresses: ["203.525....", "203.525...", ...]
     // Computer session data goes here
  }, ...]

সেশন ভিত্তিক ট্র্যাকিংয়ের সুবিধা:

  1. লগ ইন করা ব্যবহারকারীদের জন্য, আপনি সর্বদা ব্যবহারকারীদের username/ password/ থেকে একই সেশন আইডি তৈরি করতে পারেন email
  2. আপনি এখনও অতিথি ব্যবহারকারীদের ব্যবহার ট্র্যাক করতে পারেন sessionID
  3. এমনকি বেশ কিছু লোক একই কম্পিউটার ব্যবহার করে (যেমন সাইবারকাফে) লগ ইন করলে আপনি তাদের আলাদাভাবে ট্র্যাক করতে পারেন।

সেশন ভিত্তিক ট্র্যাকিং এর অসুবিধা:

  1. সেশনগুলি ব্রাউজার ভিত্তিক হয় কম্পিউটার ভিত্তিক নয়। কোনও ব্যবহারকারী যদি 2 টি ভিন্ন ব্রাউজার ব্যবহার করে তবে এটি 2 টি পৃথক সেশনের ফলস্বরূপ। এটি যদি সমস্যা হয় তবে আপনি এখানে পড়া বন্ধ করতে পারেন।
  2. ব্যবহারকারীর লগ ইন না থাকলে সেশনগুলির মেয়াদ শেষ হবে a

বাস্তবায়ন

এটি বাস্তবায়নের অনেকগুলি উপায় রয়েছে। আমি মনে করি না যে আমি তাদের সমস্তটি কভার করতে পারি আমি কেবল আমার প্রিয় তালিকা তৈরি করব যা এটির একটি মতামতযুক্ত উত্তর তৈরি করবে । মনে রাখবেন।

বুনিয়াদি

চিরকালীন কুকি হিসাবে পরিচিত যা ব্যবহার করে আমি সেশনটি ট্র্যাক করব। এটি এমন ডেটা যা ব্যবহারকারী তার কুকিগুলি মুছে ফেললে বা ব্রাউজার আপডেট করলেও স্বয়ংক্রিয়ভাবে নিজেকে পুনরায় তৈরি করবে। এটি ব্যবহারকারীকে তাদের কুকিজ এবং তাদের ব্রাউজিং ক্যাশে উভয়ই মুছে ফেললে টিকে থাকবে না।

এটি বাস্তবায়নের জন্য আমি ব্রাউজারগুলি ক্যাচিং মেকানিজম ( আরএফসি ), ওয়েবস্টোরেজ এপিআই ( এমডিএন ) এবং ব্রাউজার কুকিজ ( আরএফসি , গুগল অ্যানালিটিক্স ) ব্যবহার করব।

আইনগত

ট্র্যাকিং আইডিকে ব্যবহার করতে আপনাকে এগুলি আপনার গোপনীয়তা নীতি এবং আপনার ব্যবহারের শর্তগুলিতে উভয়ই সাব-শিরোনাম ট্র্যাকিংয়ের অধীনে যুক্ত করতে হবে । আমরা উভয় document.cookieএবং নীচের কীগুলি ব্যবহার করব window.localStorage:

  • _ga : গুগল অ্যানালিটিক্স ডেটা
  • __utma : গুগল অ্যানালিটিক্স ট্র্যাকিং কুকি
  • sid : সেশনআইডি

নিশ্চিত হয়ে নিন যে আপনি আপনার গোপনীয়তা নীতি এবং লিংকগুলি ট্র্যাকিং ব্যবহার করে এমন সমস্ত পৃষ্ঠায় ব্যবহারের শর্তাদি অন্তর্ভুক্ত করেছেন।

আমি আমার সেশন ডেটা কোথায় সঞ্চয় করব?

আপনি আপনার ওয়েবসাইটের ডাটাবেসে বা ব্যবহারকারীদের কম্পিউটারে আপনার সেশন ডেটা সঞ্চয় করতে পারেন। যেহেতু আমি সাধারণত ছোট সাইটগুলিতে কাজ করি (10 হাজারের বেশি ধারাবাহিক সংযোগ দিন) যা তৃতীয় পক্ষের অ্যাপ্লিকেশন ব্যবহার করে (গুগল অ্যানালিটিক্স / ক্লিকি / ইত্যাদি) ক্লায়েন্টদের কম্পিউটারে ডেটা সঞ্চয় করা আমার পক্ষে সেরা। এর নিম্নলিখিত সুবিধা রয়েছে:

  1. কোনও ডাটাবেস অনুসন্ধান / ওভারহেড / লোড / বিলম্ব / স্থান / ইত্যাদি নেই
  2. ব্যবহারকারীরা যখনই আমাকে বিরক্তিকর ইমেলগুলি লেখার প্রয়োজন ছাড়াই তাদের ডেটা মুছতে পারে।

এবং অসুবিধা:

  1. ডেটা এনক্রিপ্ট / ডিক্রিপ্ট এবং স্বাক্ষরিত / যাচাই করতে হবে যা ক্লায়েন্টের উপর সিপিইউ ওভারহেড তৈরি করে (এত খারাপ নয়) এবং সার্ভার (বাহ!)।
  2. ব্যবহারকারী তাদের কুকি এবং ক্যাশে মুছে ফেললে ডেটা মুছে ফেলা হয়। (এটিই আমি সত্যই চাই)
  3. ব্যবহারকারীরা অফ-লাইন গেলে বিশ্লেষণের জন্য ডেটা অনুপলব্ধ থাকে। (বর্তমানে শুধুমাত্র ব্রাউজিং ব্যবহারকারীদের জন্য বিশ্লেষণ)

UUID জানা

  • ব্রাউজারআইডি : ব্রাউজার ব্যবহারকারী এজেন্ট স্ট্রিং থেকে স্বতন্ত্র আইডি উত্পন্ন।Browser|BrowserVersion|OS|OSVersion|Processor|MozzilaMajorVersion|GeckoMajorVersion
  • কম্পিউটারআইডিআইডি : ব্যবহারকারীদের আইপি ঠিকানা এবং এইচটিটিপিএস সেশন কী থেকে উত্পন্ন। getISP(requestIP)|getHTTPSClientKey()
  • ফিঙ্গারপ্রিন্টআইডি : একটি পরিবর্তিত ফিঙ্গারপ্রিন্ট.জেএস এর উপর ভিত্তি করে জাভাস্ক্রিপ্ট ভিত্তিক ফিঙ্গারপ্রিন্টFingerPrint.get()
  • সেশনআইডি : ব্যবহারকারী 1 ম সাইট দেখার সময় এলোমেলো কী উত্পন্ন হয়।BrowserID|ComputerID|randombytes(256)
  • গুগলআইডি : __utmaকুকি থেকে উত্পন্ন ।getCookie(__utma).uniqueid

পদ্ধতি

অন্য দিন আমি আমার গার্লফ্রেন্ডের সাথে ভেন্ডি উইলিয়ামস শোটি দেখছিলাম এবং হোস্ট তার দর্শকদের মাসে একবার অন্তত একবার ব্রাউজারের ইতিহাস মুছতে পরামর্শ দেওয়ার সময় পুরোপুরি আতঙ্কিত হয়ে পড়েছিল। ব্রাউজারের ইতিহাস মুছতে সাধারণত নিম্নলিখিত প্রভাবগুলি থাকে:

  1. পরিদর্শন করা ওয়েবসাইটগুলির ইতিহাস মুছে দেয়।
  2. কুকিজ এবং window.localStorage(ওউ ম্যান) মুছে ফেলে ।

বেশিরভাগ আধুনিক ব্রাউজারগুলি এই বিকল্পটি সহজেই উপলভ্য করে তবে বন্ধুবান্ধবকে ভয় পান না। কারণ একটি সমাধান আছে। স্ক্রিপ্ট / চিত্র এবং অন্যান্য জিনিস সংরক্ষণ করার জন্য ব্রাউজারে একটি ক্যাশিং ব্যবস্থা রয়েছে। সাধারণত আমরা আমাদের ইতিহাস মুছলেও, এই ব্রাউজারের ক্যাশে এখনও রয়ে গেছে। আমাদের কেবল আমাদের ডেটা সংরক্ষণ করার একটি উপায়। এটি করার 2 টি পদ্ধতি রয়েছে। এসভিজি চিত্র ব্যবহার করা এবং আমাদের ডেটাগুলিকে তার ট্যাগগুলির মধ্যে সঞ্চয় করা আরও ভাল। জাভাস্ক্রিপ্ট ফ্ল্যাশ ব্যবহার করে অক্ষম করা থাকলেও এইভাবে ডেটা বের করা যেতে পারে। তবে এটি যেহেতু কিছুটা জটিল তাই আমি অন্য পদ্ধতির প্রদর্শন করব যা জেএসএনপি ( উইকিপিডিয়া ) ব্যবহার করে

উদাহরণ.com / assets / js /tracking.js (আসলে ট্র্যাকিং.এফপি)

var now = new Date();
var window.__sid = "SessionID"; // Server generated

setCookie("sid", window.__sid, now.setFullYear(now.getFullYear() + 1, now.getMonth(), now.getDate() - 1));

if( "localStorage" in window ) {
  window.localStorage.setItem("sid", window.__sid);
}

এখন আমরা আমাদের সেশন কীটি যে কোনও সময় পেতে পারি:

window.__sid || window.localStorage.getItem("sid") || getCookie("sid") || ""

আমি কীভাবে ব্রাউজারে ট্র্যাকিং.জেএস স্টিক করব?

আমরা এটি ক্যাশে-নিয়ন্ত্রণ , সর্বশেষ-সংশোধিত এবং ইটাগ এইচটিটিপি শিরোনাম ব্যবহার করে অর্জন করতে পারি । আমরা SessionIDইটাগ শিরোলেখের জন্য মানটি ব্যবহার করতে পারি :

setHeaders({
  "ETag": SessionID,
  "Last-Modified": new Date(0).toUTCString(),
  "Cache-Control": "private, max-age=31536000, s-max-age=31536000, must-revalidate"
})

Last-Modifiedশিরোনাম ব্রাউজারকে বলে যে এই ফাইলটি মূলত কখনই সংশোধিত হয় না। Cache-Controlপ্রক্সি এবং গেটওয়েসকে দস্তাবেজটি ক্যাশে না করতে বলুন তবে ব্রাউজারটিকে এটি 1 বছরের জন্য ক্যাশে রাখতে বলে।

পরের বার ব্রাউজার ডকুমেন্ট অনুরোধ করে, পাঠাবে If-Modified-Sinceএবং If-None-Matchহেডার। আমরা এগুলি একটি 304 Not Modifiedপ্রতিক্রিয়া ফিরিয়ে দিতে ব্যবহার করতে পারি ।

example.com/assets/js/tracking.php

$sid = getHeader("If-None-Match") ?: getHeader("if-none-match") ?: getHeader("IF-NONE-MATCH") ?: ""; 
$ifModifiedSince = hasHeader("If-Modified-Since") ?: hasHeader("if-modified-since") ?: hasHeader("IF-MODIFIED-SINCE");

if( validateSession($sid) ) {
  if( sessionExists($sid) ) {
    continueSession($sid);
    send304();
  } else {
    startSession($sid);
    send304();
  }
} else if( $ifModifiedSince ) {
  send304();
} else {
  startSession();
  send200();
}

এখন প্রতিবার যখন ব্রাউজারটি অনুরোধ করে তখন tracking.jsআমাদের সার্ভার 304 Not Modifiedফলাফলের সাথে সাড়া দেয় এবং এর স্থানীয় অনুলিপি কার্যকর করতে বাধ্য করে tracking.js

আমি এখনও বুঝতে পারি না। এটি আমাকে ব্যাখ্যা কর

ধরা যাক ব্যবহারকারী তাদের ব্রাউজিং ইতিহাস সাফ করে এবং পৃষ্ঠাটি রিফ্রেশ করে। ব্যবহারকারীদের কম্পিউটারে কেবলমাত্র tracking.jsব্রাউজার ক্যাশে থাকা একটি অনুলিপি রয়েছে । যখন ব্রাউজারটি অনুরোধ tracking.jsকরে তখন এটি একটি 304 Not Modifiedপ্রতিক্রিয়া গ্রহণ করে যার ফলে এটি এর প্রথম সংস্করণটি tracking.jsপুনরুদ্ধার করে। tracking.jsকার্যকর করে এবং পুনরুদ্ধার SessionIDযে মুছে ফেলা হয়েছে।

ভ্যালিডেশন

ধরা যাক হ্যাক্সার এক্স আমাদের গ্রাহকদের কুকিগুলি এখনও লগ ইন করার সময় চুরি করে ফেলেছে we আমরা কীভাবে সেগুলি রক্ষা করব? ক্রিপ্টোগ্রাফি এবং ব্রাউজারটি উদ্ধারে উদ্ধার করছে। আমাদের মূল সংজ্ঞাটি মনে রাখবেন SessionID:

BrowserID|ComputerID|randomBytes(256)

আমরা এটিকে পরিবর্তন করতে পারি:

Timestamp|BrowserID|ComputerID|encrypt(randomBytes(256), hk)|sign(Timestamp|BrowserID|ComputerID|randomBytes(256), hk)

কোথায় hk = sign(Timestamp|BrowserID|ComputerID, serverKey)

এখন আমরা SessionIDনিম্নলিখিত অ্যালগরিদম ব্যবহার করে আমাদের যাচাই করতে পারি :

if( getTimestamp($sid) is older than 1 year ) return false;
if( getBrowserID($sid) !== createBrowserID($_Request, $_Server) ) return false;
if( getComputerID($sid) !== createComputerID($_Request, $_Server) return false;

$hk = sign(getTimestamp($sid) + getBrowserID($sid) + getComputerID($sid), $SERVER["key"]);

if( !verify(getTimestamp($sid) + getBrowserID($sid) + getComputerID($sid) + decrypt(getRandomBytes($sid), hk), getSignature($sid), $hk) ) return false;

return true; 

এখন হ্যাক্সারের আক্রমণে কাজ করার জন্য তাদের অবশ্যই:

  1. একই আছে ComputerID। তার মানে তাদের শিকার (ট্রিকি) হিসাবে একই আইএসপি সরবরাহকারী থাকতে হবে। এটি আমাদের ক্ষতিগ্রস্থকে তাদের দেশে আইনী পদক্ষেপ গ্রহণের সুযোগ দেবে। হ্যাক্সর অবশ্যই শিকার (হার্ড) এর কাছ থেকে এইচটিটিপিএস সেশন কী অর্জন করতে হবে।
  2. একই আছে BrowserID। যে কেউ ইউজার-এজেন্ট স্ট্রিং (বিরক্তিকর) কে ফাঁকি দিতে পারে।
  3. তাদের নিজস্ব জাল তৈরি করতে সক্ষম হবেন SessionID(খুব হার্ড)। ভলিউম অ্যাটাকগুলি কাজ করবে না কারণ আমরা এনক্রিপশন / সাইন ইন কী উত্পন্ন করতে টাইম স্ট্যাম্প ব্যবহার করি যা মূলত এটি প্রতিটি সেশনের জন্য একটি নতুন কী উত্পন্ন করার মতো। তার উপরে আমরা এলোমেলো বাইটগুলি এনক্রিপ্ট করেছি যাতে একটি সাধারণ অভিধান আক্রমণটিও প্রশ্নের বাইরে of

আমরা ফরওয়ার্ড করে GoogleIDএবং FingerprintID(এজ্যাক্স বা লুকানো ক্ষেত্রের মাধ্যমে) এবং সেগুলির বিরুদ্ধে মিলে বৈধতা উন্নত করতে পারি ।

if( GoogleID != getStoredGoodleID($sid) ) return false;
if( byte_difference(FingerPrintID, getStoredFingerprint($sid) > 10%) return false;

1
এটি উপায় দ্বারা একটি সুন্দর উত্তর। এত তথ্য। আমি অবাক হলাম আপনার আরও বেশি কিছু নেই। আমি সত্যই বলতে চাইছি যে svgs এবং jsonp সহ কৌশলটি বিদ্যমান, তবে তা অবশ্যই। কুকিজ / লোকালস্টোরেজ / সেশন স্টোরেজ অক্ষম থাকলে এমন কোনও লাইব্রেরি নেই যা এই জাতীয় প্রযুক্তিতে পড়ে?
faceyspacey.com 20

এছাড়াও, আমি আশ্চর্য হয়েছি যে এটির কোনও উন্নত সংস্করণ যদি কেবল আপনার ক্যাশেড ট্র্যাকিং.জেএস ফাইল (বা একাধিক এ জাতীয় ফাইল) এটিকে প্রয়োজনীয় লোকালস্টোরেজ / কুকিজ হিসাবে ব্যবহার করতে হয়, তবে প্রচুর ডেটা মনে রাখতে পারে। ধারণাটি storageFacade.setItemহ'ল লাইব্রেরির জন্য সেশন চলাকালীন সমস্ত . And it tries to use localStorage, but fallsback to your technique when disabled. ..Perhaps the way it works is via a single file for "diffs" i.e. each time you call ডিফারগুলির মতো স্টোরেজফ্যাকড.জেট আইটেম সেট আইটেম . And then a ম্যানিফেস্ট methods যা একবারে একবারে স্বয়ংক্রিয়ভাবে তৈরি হয়।
faceyspacey.com

যদি ম্যানিফেস্টটি কেবলমাত্র একবারে একবারে তৈরি করা হত, মূলত এটি তৈরি হওয়া প্রকাশের সংখ্যা সীমিত করে দেবে। এবং তারপরে জাভাস্ক্রিপ্টে আপনি তৈরি হওয়া সমস্ত সম্ভাব্য ম্যানিফাইস্টগুলির জন্য অনুরোধ করতে চেষ্টা করতে পারেন এবং তারপরে বিভিন্ন স্ন্যাপশটগুলি থেকে রাষ্ট্রটিকে পুনর্নির্মাণ করতে সর্বশেষতমটি ব্যবহার করুন। যদি আমাদের কেবল ভিন্নতা থাকে তবে কয়েকশো বা হাজার হাজার লোক থাকতে পারে এবং এটির ব্যর্থ হওয়া অবধি এগুলি সমস্ত আনতে চেষ্টা করার জন্য একটি পারফরম্যান্স সমস্যা হতে পারে। উদাহরণস্বরূপ, আপনি পৃথক বা প্রকাশিত ক্রমবর্ধমানভাবে এনেছেন: ম্যানিফেস্ট -১.জেস, ম্যানিফেস্ট -২.জে, ইত্যাদি, যতক্ষণ না কোনও ব্যর্থ হয় (কারণ এটি বিদ্যমান নেই)। যার অর্থ আপনার সমস্ত প্রকাশ (বা
বিচ্ছিন্ন

@ faceyspacey.com দুঃখিত কোন লাইব্রেরি কখনও। আপনাকে কোড করতে হবে এবং ক্রমাগত আপনার নিজস্ব কাস্টম সমাধান আপডেট করতে হবে। চিন্তা করুন. আপনি যত তাড়াতাড়ি এটির জন্য একটি lib বিকাশ করার সাথে সাথে সমস্ত অ্যাড ব্লকার / ব্রাউজার / ইত্যাদি তত্ক্ষণাত এটিকে মোকাবেলা করবে। এটি কাজ করার একমাত্র কারণ হ'ল এটি একটি অত্যন্ত গুরুত্বপূর্ণ মূল ব্রাউজার বৈশিষ্ট্যের উপর নির্ভর করে যা তারা কেবল অপসারণ / অক্ষম করবে না: ক্যাসিং। আমি আমার লগইন এবং পাসওয়ার্ড হারাতে থাকি। এবং যেহেতু আমি আর অনেক প্রশ্ন জিজ্ঞাসা করি না, তাই আমাকে অনেকের উত্তর দেওয়ার দরকার নেই তাই সুনামের সাথে উদ্যানগুলি ছেড়ে যেতে পারি leave আমি কেবল এটি দেখেছি এবং বুঝতে পারি যে এর সত্যিকারের কোনও উত্তর নেই।
ওয়াল্টার

30

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


7
যদি তিনি 3 টি ভিন্ন ব্রাউজার নিয়ে আপনার সাইটটিতে যান তবে তার কাছে 3 টি আলাদা কুকিজ থাকবে যেহেতু অ্যাপ্লিকেশনগুলির মধ্যে কুকিজ ভাগ করা হয়নি। তদুপরি, যদি তিনি স্থির আইপি ঠিকানার পরিবর্তে ডিএইচসিপি ব্যবহার করেন তবে সম্ভবত তাঁর কম্পিউটারে দীর্ঘকাল ধরে একই আইপি ঠিকানা থাকবে না।
জনিসফটওয়্যার

2
হ্যা এবং না. ব্রাউজার ফিঙ্গারপ্রিন্টিং একটি উচ্চ ডিগ্রি সম্ভাবনার সাথে একটি ব্রাউজার প্রোফাইল সনাক্ত করে, তবে এটি এই প্রশ্নের মধ্যে চাওয়া নিখুঁত এক থেকে এক পরিচয় নয়। সচেতন ব্যবহারকারীর ইচ্ছা থাকলে তারা ইচ্ছাকৃতভাবে এড়িয়ে চলাও মোটামুটি সহজ (তবে সম্ভবত সহজ নয় )।
ইরিকসন

30

সম্ভাবনা ফ্ল্যাশ কুকি ব্যবহার করছে :

  • সর্বব্যাপী প্রাপ্যতা (দর্শকদের 95% সম্ভবত ফ্ল্যাশ থাকবে)
  • আপনি প্রতি কুকিতে আরও ডেটা সঞ্চয় করতে পারেন (100 কেবি পর্যন্ত)
  • ব্রাউজারগুলি জুড়ে ভাগ করা হয়েছে, তাই কোনও মেশিনকে অনন্যরূপে চিহ্নিত করার সম্ভাবনা বেশি
  • ব্রাউজার কুকিজ সাফ করা ফ্ল্যাশ কুকিজ অপসারণ করে না।

এগুলি পড়তে এবং লিখতে আপনাকে একটি ছোট (লুকানো) ফ্ল্যাশ মুভি তৈরি করতে হবে।

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


5
অনেক ব্যবহারকারী ফ্ল্যাশব্লক ব্যবহার করেন। ব্যবহারকারী যদি এটি দেখতে চান তবে একটি ক্লিক দিয়ে ফ্ল্যাশ সক্রিয় হবে।
Horcrux7

3
কুকিগুলি অপসারণ করার পদ্ধতি রয়েছে তবে এগুলি গড় ব্যবহারকারীর বাইরে। এলএসও'র (স্থানীয় শেয়ার্ড অবজেক্ট en.wikedia.org/wiki/Local_Shared_Object ) দেখতে এবং অপসারণের জন্য অ্যাডোবের ওয়েবসাইটে পৃষ্ঠা রয়েছে তবে ফায়ারফক্স ব্যবহারকারীদের জন্য আপত্তি অ্যাড-অনটি অপসারণের সবচেয়ে সহজ পদ্ধতি
স্যাম হাসার

আমি মনে করি এটি সেরা সমাধানগুলির মধ্যে একটি। ইউটিউব, গুগল ইত্যাদি অপব্যবহারের বিরুদ্ধে লড়াই করতে এলএসও ব্যবহার করে।
উকু লসকিট

4
ফায়ার কুকিজ ফায়ারফক্স এবং ক্রোমের আধুনিক সংস্করণগুলিতে এইচটিটিপি কুকিজের মতো সহজেই মুছে ফেলা হয়েছে: উইকিপিডিয়া :Adobe announced that Flash Player 10.3 enables Mozilla Firefox 4 and "future releases of Apple Safari and Google Chrome" to delete local shared objects,[11] so since version 4, Firefox treats LSOs the same way as HTTP cookies - deletion rules that previously applied only to HTTP cookies now also apply to LSOs.
জোজো

4
গত নয় বছরে পরিস্থিতি বদলেছে। আজকাল, 95% ব্যবহারকারী এমনকি ডেস্কটপে নেই, এবং মোবাইল সত্যই অ্যাডোব ফ্ল্যাশ প্লেয়ারকে গ্রহণ করে না।
দামিয়ান ইয়ারিক

21

আপনি একটি এভারকুকিতে একটি অনন্য আইডি সেট করার চেষ্টা করতে পারেন (এটি ক্রস ব্রাউজারে কাজ করবে, তাদের এফএকিউগুলি দেখুন): http://samy.pl/evercookie/

থ্রেটমেট্রিক্স নামে একটি সংস্থা রয়েছে যা এই সমস্যা সমাধানের জন্য প্রচুর বড় বড় সংস্থাগুলি ব্যবহার করে: http://threatmetrix.com/our-solutions/solutions-by-product/trustdefender-id/ এগুলি বেশ ব্যয়বহুল এবং কিছু তাদের অন্যান্য পণ্য খুব ভাল না, কিন্তু তাদের ডিভাইস আইডি ভাল কাজ করে।

অবশেষে, প্যানোপটিক্লিক আইডিয়াটির এই ওপেন সোর্স জ্যাকেই বাস্তবায়ন রয়েছে: https://github.com/carlo/jquery-browser-fingerprint এটি এখন দেখতে বেশ অর্ধেক বেকড দেখায় তবে এর প্রসারিত হতে পারে।

আশা করি এটা সাহায্য করবে!


+ 1 - ব্রায়ান - দুর্দান্ত তথ্য! এই সব খুব দরকারী প্রমাণিত হয়েছে। ধন্যবাদ. আপনি যদি থেকে আর কিছু না শিখেন তবে আরও তথ্য যুক্ত করুন।
বেন ও

1
এভারকুকি সম্পর্কিত। অপেরা দিয়ে চেষ্টা করেছেন। কুকিজ সেট করুন, তারপরে অপেরা থেকে সমস্ত ইতিহাস মুছে ফেলা হবে, তারপরে অপেরা বন্ধ হবে, আবার ক্লিক করে খোলে Click to rediscover cookiesএবং নাল বা অপরিজ্ঞাত হয়। সুতরাং এটি আমার পক্ষে কাজ করে না
অ্যান্ডিস

আইওএস সাফারি প্রাইভেট মোড এবং ডেস্কটপ ক্রোম ছদ্মবেশে নমুনা পৃষ্ঠাটি চেষ্টা করে, ব্রাউজার পুনরায় চালু হওয়ার পরে কুকিটি পুনরুদ্ধার করা যায় না।
মরিও

20

ক্যানভাস ফিঙ্গারপ্রিন্টিং নামে একটি জনপ্রিয় পদ্ধতি রয়েছে, যা এই বৈজ্ঞানিক নিবন্ধে বর্ণিত হয়েছে: দ্য ওয়েভ নেভার ভুলেজেস: দ্য ওয়াইন্ডে ধ্রুব ট্র্যাকিং মেকানিজম । আপনি এটি সন্ধান শুরু করার পরে, আপনি এটি কত ঘন ঘন ব্যবহার করা হয় তা অবাক হয়ে যাবেন। পদ্ধতিটি একটি অনন্য ফিঙ্গারপ্রিন্ট তৈরি করে, যা প্রতিটি ব্রাউজার / হার্ডওয়্যার সংমিশ্রনের জন্য সামঞ্জস্যপূর্ণ।

নিবন্ধটি অন্যান্য ক্রমাগত ট্র্যাকিং পদ্ধতিরও পর্যালোচনা করে, যেমন চিরকুচি, রেসপনিং এইচটিপি এবং ফ্ল্যাশ কুকিজ এবং কুকি সিঙ্কের জন্য।

ক্যানভাস ফিঙ্গারপ্রিন্ট সম্পর্কে আরও তথ্য এখানে:


1
সুতরাং যদি দুটি ডিভাইস অভিন্ন হয় (একই ব্যাচ কম্পিউটার, একই ওএস, একই ব্রাউজার), আঙুলের ছাপগুলি একই, তাই না?
xiaoyu2er

এখানে আসল প্রশ্নটি হ'ল জাভাস্ক্রিপ্ট লাইব্রেরি এটি ব্যবহার করার জন্য আমি আমার কোডটিতে ফেলে দিতে পারি। এক টন তত্ত্ব পড়া সমস্যার সমাধান করে না যা পরবর্তী 60 মিনিটের মধ্যে সমাধান করা উচিত।
থানাসিস ইওনিডিস

11

আপনি একটি এইচটিটিপি সংযোগের মাধ্যমে পেতে পারেন এমন অল্প পরিমাণে তথ্য রয়েছে।

  1. আইপি - তবে অন্যরা যেমন বলেছে, এটি বেশিরভাগের জন্যই স্থির নয়, যদি বেশিরভাগ ইন্টারনেট ব্যবহারকারী তাদের আইএসপির গতিশীল বরাদ্দ নীতিগুলির কারণে না হয়।

  2. ইউজারেজেন্ট স্ট্রিং - প্রায় সমস্ত ব্রাউজার প্রতিটি অনুরোধের সাথে তারা কী ধরণের ব্রাউজারটি প্রেরণ করে। যাইহোক, এটি আজ অনেক ব্রাউজারে ব্যবহারকারী সেট করতে পারেন।

  3. অনুরোধ ক্ষেত্রগুলি সংগ্রহ - প্রতিটি অনুরোধের সাথে প্রেরণ করা অন্যান্য ক্ষেত্রগুলি যেমন সমর্থিত এনকোডিং ইত্যাদি These এগুলি, যদি সামগ্রিকভাবে ব্যবহৃত হয় তবে ব্যবহারকারীর মেশিনটিকে আইডিতে সহায়তা করতে পারে তবে এটি আবার ব্রাউজার নির্ভর এবং পরিবর্তিত হতে পারে।

  4. কুকিজ - কোনও কুকি সেট করা কোনও মেশিন শনাক্ত করার অন্য উপায়, বা বিশেষত একটি মেশিনে ব্রাউজার, তবে অন্যেরা যেমন বলেছে, এগুলি মুছে ফেলা যায়, বা ব্যবহারকারীরা বন্ধ করতে পারে এবং কেবল ব্রাউজারে প্রযোজ্য, তা নয় মেশিন।

সুতরাং, সঠিক প্রতিক্রিয়া হ'ল আপনি কেবলমাত্র আইপি প্রোটোকলগুলির মাধ্যমে HTTP- র মাধ্যমে কী যাবেন তা অর্জন করতে পারবেন না। তবে, কুকিজের সংমিশ্রণ, পাশাপাশি আইপি এবং এইচটিটিপি অনুরোধে ক্ষেত্রগুলি ব্যবহার করে আপনার অনুমান করার, সাজানোর, এটি কোন মেশিনের ভাল সুযোগ রয়েছে। ব্যবহারকারীরা কেবল একটি ব্রাউজার ব্যবহার করেন এবং প্রায়শই একটি মেশিন থেকে থাকে, তাই এটি মোটামুটি স্বস্তিদায়ক হতে পারে তবে এটি দর্শকের উপর নির্ভর করে পরিবর্তিত হবে ... প্রযুক্তিবিদরা এই স্টাফটি নিয়ে গোলমাল করার সম্ভাবনা বেশি থাকে এবং আরও মেশিন / ব্রাউজার ব্যবহার করে। অতিরিক্তভাবে, এমনকি আইপি ভূ-সনাক্ত করার কিছু প্রচেষ্টা এবং এটিও ডেটা ব্যবহার করতে পারে। তবে যে কোনও ক্ষেত্রে, কোনও সমাধান নেই যা সমস্ত সময় সঠিক হবে।


10

কুকি এবং নন-কুকি উভয় পদ্ধতির সাথে ত্রুটি রয়েছে। তবে আপনি যদি কুকি পদ্ধতির ত্রুটিগুলি ক্ষমা করতে পারেন তবে এখানে একটি ধারণা।

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

এবং সেই মানটি অ্যাক্সেস করার জন্য আপনি সহজেই কিছু কোড লিখতে পারেন বা এই স্ক্রিপ্টটির getUniqueId() ফাংশনটি ব্যবহার করতে পারেন ।


আমি কি getUniqueId()একই মেশিনে বিভিন্ন ব্রাউজারে ব্যবহার করে একই আইডি পাব ?
অঙ্কুর আকালিয়া

8

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

আইপি এবং হোস্টনাম সনাক্তকরণের জন্য বিবেচনা করার জন্য অন্য একটি পদ্ধতি হ'ল সচেতন হন (ডায়াল-আপ / নন-স্ট্যাটিক আইপি ব্যবহারকারীদের জন্য এগুলি পৃথক হতে পারে, এওএল এছাড়াও কম্বল আইপি ব্যবহার করে)। তবে যেহেতু এটি কেবল নেটওয়ার্কগুলি সনাক্ত করে এটি কুকিজের পাশাপাশি কাজ নাও করতে পারে।


আইপি ঠিকানায় নেটওয়ার্কের অ্যাক্সেসের পয়েন্ট চিহ্নিতকরণ সহ ভাল পয়েন্ট - NAT সহ, একক আইপি ঠিকানার পিছনে গোটা দেশ লুকিয়ে থাকতে পারে এবং আপনি জ্ঞানী হতে পারবেন না be IPv4 ঠিকানার ঘাটতির সাথে, আপনি এখনও দেখতে পাবেন বেশ বড় বড় সংস্থা বা স্কুল / বিশ্ববিদ্যালয় তার বহির্মুখী ইন্টারনেট ট্র্যাফিকের জন্য একটি আইপি ঠিকানা ভাগ করে নিচ্ছে।
পিসকভোর

6

কুকিগুলি আলাদাভাবে ব্যবহার করার পরামর্শ, জিজ্ঞাসাবাদের জন্য উপলব্ধ বৈশিষ্ট্যগুলি সনাক্ত করার একমাত্র বিস্তৃত সেট এইচটিটিপি অনুরোধ শিরোনামে রয়েছে। সুতরাং ব্যবহারকারীর এজেন্টের (যেমন ব্রাউজার) সিউডো-ইউনিক আইডেন্টিফায়ার তৈরি করতে এগুলির কয়েকটি উপসেট ব্যবহার করা সম্ভব। তদুপরি, এই তথ্যগুলির বেশিরভাগটি সম্ভবত ইতিমধ্যে আপনার ওয়েব সার্ভার সফ্টওয়্যারটির তথাকথিত "অ্যাক্সেস লগ" এ ডিফল্টরূপে লগইন করা হয়েছে এবং যদি তা না হয় তবে সহজেই এটির জন্য কনফিগার করা যেতে পারে। তারপরে, একটি সার্বিকতা বিকাশ করা যায় যা এই লগের বিষয়বস্তুটিকে কেবল স্ক্যান করে, আঙুলের ছাপ তৈরি করেআইপি ঠিকানা এবং ব্যবহারকারী এজেন্ট স্ট্রিং ইত্যাদির সমন্বয়ে গঠিত প্রতিটি অনুরোধে নির্দিষ্ট কুকিজের বিষয়বস্তু সহ আরও বেশি ডেটা উপলব্ধ থাকে যা এই আঙুলের ছাপের স্বতন্ত্রতার গুণকে বাড়িয়ে তোলে। যদিও আরও অনেকে ইতিমধ্যে জানিয়েছে, এইচটিটিপি প্রোটোকল এটি 100% বোকা বানায় না - সর্বোপরি এটি কেবল যথেষ্ট ভাল সূচক হতে পারে।


6

আমি যখন এমন কোনও মেশিন ব্যবহার করি যা আমার অনলাইন ব্যাংকিং ওয়েব সাইটটিতে কখনও দেখেনি তখন আমি অতিরিক্ত প্রমাণীকরণের জন্য জিজ্ঞাসা করব। তারপরে, আমি যদি দ্বিতীয়বার অনলাইন ব্যাংকিং সাইটটিতে ফিরে যাই তবে আমি অতিরিক্ত প্রমাণীকরণ জিজ্ঞাসা করব না ... আমি আইই-তে সমস্ত কুকিজ মুছে ফেলেছি এবং পুনরায় প্রমাণীকরণের প্রশ্ন জিজ্ঞাসা করার প্রত্যাশায় আমার অনলাইন ব্যাংকিং সাইটটিতে লগ ইন করেছি। আমার অবাক করে জিজ্ঞাসা করা হয়নি। এটি কি বিশ্বাস করে না যে ব্যাংক কোনও ধরণের পিসি ট্যাগিং করছে যা কুকিজকে জড়িত করে না?

এটি ব্যাংকগুলির দ্বারা ব্যবহৃত একটি সাধারণ প্রচলিত প্রমাণীকরণ।

বলুন যে আপনি উদাহরণস্বরূপ- com.com এর মাধ্যমে আপনার ব্যাঙ্কের ওয়েবসাইট অ্যাক্সেস করছেন। আপনি যখন প্রথম সেখানে উপস্থিত হবেন, আপনাকে আপনার পাসওয়ার্ড, পাশাপাশি অতিরিক্ত প্রমাণীকরণের জন্য জিজ্ঞাসা করা হবে। একবার আপনি পাস করার পরে, ব্যাংকটি জানতে পারে যে ব্যবহারকারী "thatisvaliant" উদাহরণ-isp.com এর মাধ্যমে সাইট অ্যাক্সেস করার জন্য অনুমোদনপ্রাপ্ত।

ভবিষ্যতে, আপনি উদাহরণ-isp.com এর মাধ্যমে সাইটটিতে অ্যাক্সেস করার সময় এটি অতিরিক্ত প্রমাণীকরণের (আপনার পাসওয়ার্ডের বাইরে) জিজ্ঞাসা করবে না। আপনি যদি অন্য-এসপি ডটকমের মাধ্যমে ব্যাঙ্কটি অ্যাক্সেস করার চেষ্টা করেন তবে ব্যাংকটি আবার একই রুটিনের মধ্য দিয়ে যাবে।

সুতরাং সংক্ষিপ্তসার হিসাবে, আপনার আইপি ঠিকানার ভিত্তিতে ব্যাঙ্কের সনাক্তকরণটি আপনার আইএসপি এবং / অথবা নেটব্লক। স্পষ্টতই আপনার আইএসপিতে থাকা প্রতিটি ব্যবহারকারী আপনি নন, এ কারণেই এখনও ব্যাংক আপনাকে আপনার পাসওয়ার্ডের জন্য জিজ্ঞাসা করে।

আপনি যখন অন্য দেশে ক্রেডিট কার্ড ব্যবহার করেন তখন জিনিসগুলি ঠিক আছে কিনা তা যাচাই করার জন্য আপনার কি কখনও ক্রেডিট কার্ড সংস্থার কল রয়েছে? একই ধারণা।


4

সত্যিই, আপনি যা করতে চান তা করা যায় না কারণ প্রোটোকলগুলি এটির জন্য অনুমতি দেয় না। স্থির আইপি যদি সর্বজনীনভাবে ব্যবহৃত হয় তবে আপনি এটি করতে সক্ষম হবেন। তারা না, তাই আপনি পারবেন না।

আপনি যদি সত্যই লোককে সনাক্ত করতে চান তবে তাদের লগ ইন করুন।

যেহেতু তারা সম্ভবত আপনার ওয়েবসাইটের বিভিন্ন পৃষ্ঠায় ঘুরতে থাকবে, আপনার চলার সাথে সাথে তাদের ট্র্যাক করার একটি উপায় প্রয়োজন।

যতক্ষণ তারা লগ ইন থাকে এবং আপনি কুকিজ / লিংক-পরামিতি / বেকনস / যেকোনো কিছু দিয়ে আপনার সাইটের মধ্যে তাদের সেশনটি ট্র্যাক করে রাখছেন, আপনি নিশ্চিত হন যে তারা সেই সময় একই কম্পিউটারটি ব্যবহার করছে।

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

আপনি যা করতে চান তা যদি ব্যবহারকারীদের সহযোগিতায় করা হচ্ছে এবং প্রতি কুকিতে কেবল একজন ব্যবহারকারী রয়েছেন এবং তারা একটি একক ওয়েব ব্রাউজার ব্যবহার করেন, কেবল একটি কুকি ব্যবহার করুন।


3

অনন্য দর্শনার্থীদের নির্ধারণের জন্য কুকিগুলি কার্যকর হবে না। কোনও ব্যবহারকারী কুকিজ সাফ করতে এবং সাইটটি রিফ্রেশ করতে পারে - তারপরে তাকে আবার নতুন ব্যবহারকারী হিসাবে শ্রেণিবদ্ধ করা হয়।

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

পিএইচপি ব্যবহার করে উদাহরণস্বরূপ, কোনও দর্শকের আইপি ঠিকানা পাওয়া, এবং এটি একটি পাঠ্য ফাইলে (বা একটি স্ক্যুয়াল ডাটাবেস) সংরক্ষণ করা তুচ্ছ।

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

আশা করি এইটি কাজ করবে.


4
আমি এবং আমার স্ত্রী বাসায় একটি NAT ফায়ারওয়ালের পিছনে চারটি আলাদা কম্পিউটার থেকে ব্রাউজ করি। আমরা একই আইপি হিসাবে প্রদর্শিত, তাই আপনার স্কিম দ্বারা আমরা একই ব্যবহারকারী হিসাবে প্রদর্শিত হবে।
অ্যাডাম নেস

যদি মাইএসকিএল-তে অতিরিক্ত ভেরিয়েবলগুলি লিখতে হয় (তবে এখানে প্যানোপটিকলিক.এফ.আর.এফ.আর / ব্রাউজার- ইউনিকনেস.পিডিএফ উল্লেখ আছে )? সুতরাং আইপি ঠিকানা একই হবে, তবে কিছু অন্যান্য বৈশিষ্ট্য পৃথক হতে পারে।
অ্যান্ডিস

3

কারণ আমি সমাধানটি সমস্ত মেশিন এবং সমস্ত ব্রাউজারে কাজ করতে চাই (কারণগুলির মধ্যে) আমি জাভাস্ক্রিপ্ট ব্যবহার করে একটি সমাধান তৈরি করার চেষ্টা করছি।

জাভাস্ক্রিপ্ট না ব্যবহার করা কি আসলেই ভাল কারণ নয় ?

অন্যরা যেমন বলেছে - কুকিজ সম্ভবত আপনার সেরা বিকল্প - সীমাবদ্ধতা সম্পর্কে সচেতন হন।


3

আপনি আঙুলের ছাপ ব্যবহার করতে পারেন 2

new Fingerprint2().get(function(result, components) {
  console.log(result) // a hash, representing your device fingerprint
  console.log(components) // an array of FP components
  //submit hash and JSON object to the server 
})

এর পরে আপনি আপনার সমস্ত ব্যবহারকারীকে বিদ্যমানের বিপরীতে এবং JSON মিল খুঁজে পেতে পারেন, তাই যদি তাদের আঙুলের ছাপটি পরিবর্তিত হয়, আপনি এখনও তাদের ট্র্যাক করতে পারেন


2

আমি রায়টি অনুমান করি যে আমি যে প্রোগ্রামটি আমার ওয়েবসাইটটি ভিজিট করছি তা আমি প্রোগ্রামিয়ালি অনন্যভাবে সনাক্ত করতে পারি না।

আমি নিম্নলিখিত প্রশ্ন আছে। আমি যখন এমন কোনও মেশিন ব্যবহার করি যা আমার অনলাইন ব্যাংকিং ওয়েব সাইটটিতে কখনও দেখেনি তখন আমি অতিরিক্ত প্রমাণীকরণের জন্য জিজ্ঞাসা করব। তারপরে, আমি যদি দ্বিতীয়বার অনলাইন ব্যাংকিং সাইটটিতে ফিরে যাই তবে আমি অতিরিক্ত প্রমাণীকরণ জিজ্ঞাসা করব না। আমার প্রশ্নের উত্তরগুলি পড়তে আমি সিদ্ধান্ত নিয়েছিলাম এটি অবশ্যই একটি কুকি জড়িত। অতএব, আমি IE এর সমস্ত কুকি মুছে ফেলেছি এবং পুনরায় প্রমাণীকরণের প্রশ্ন জিজ্ঞাসা করার প্রত্যাশা করে আমার অনলাইন ব্যাংকিং সাইটটিতে লগ করেছি। আমার অবাক করে জিজ্ঞাসা করা হয়নি। এটি কি বিশ্বাস করে না যে ব্যাংক কোনও ধরণের পিসি ট্যাগিং করছে যা কুকিজকে জড়িত করে না?

আরও, আজ অনেক গুগল করার পরে আমি নিম্নলিখিত সংস্থাটি পেয়েছি যারা এমন একটি বিক্রয় বিক্রি করার দাবি করেছে যা কোনও ওয়েবসাইটকে ভিজিট করে এমন মেশিনগুলি অনন্যভাবে চিহ্নিত করে। http://www.the41.com/products.asp

আমি সমস্ত ভাল তথ্যের প্রশংসা করি যদি আপনি এই বিবাদমান তথ্যটি আরও স্পষ্ট করে বলতে পারতেন যে আমি পেয়েছি আমি এটির প্রশংসা করব।


এর উপর ভিত্তি করে: The41.com/download/… দেখে মনে হচ্ছে তাদের সমাধানটি হল ব্যবহারকারীকে এমন একটি সফটওয়্যার ডাউনলোড করা যা মেশিনের উপর ভিত্তি করে একটি অনন্য শনাক্তকারী তৈরি করে এবং এটি কিছু লগইন শংসাপত্রের সাথে যুক্ত করে।
এমমাউকলে

ইতিমধ্যে উল্লিখিত হিসাবে, আপনি কোনও ফ্ল্যাশ কুকি ব্যবহার করে আপনার ব্যাংকটিকে অস্বীকার করেন নি। কীভাবে সমস্যাটি সম্পর্কে ফ্ল্যাশ কুকিজ এবং অন্যান্য আলোচনা সাফ করবেন: টিপস.ভ্লাউরি.২০০7
//

আমার অনুমান: ব্যাঙ্ক সম্ভবত বিশ্বাস করে যে আপনি যদি (1) আপনার ব্যবহারকারীর নাম জানেন, (2) আপনার পাসওয়ার্ড জানেন, এবং (3 ক) এর কুকি আছে, বা অন্য কোনও (3 বি) তারা আগে আইপি ঠিকানা থেকে এসেছে আপনার সাথে যুক্ত
জ্যাক পিটারসন

2

আমি কুকি এবং ফ্ল্যাশ কুকিজের সংমিশ্রণটি ব্যবহার করে এটি করব। একটি জিইউইডি তৈরি করুন এবং এটি একটি কুকিতে সংরক্ষণ করুন। কুকি যদি না থাকে তবে এটি ফ্ল্যাশ কুকি থেকে পড়ার চেষ্টা করুন। যদি এটি এখনও না পাওয়া যায় তবে এটি তৈরি করুন এবং এটি ফ্ল্যাশ কুকিতে লিখুন। আপনি ব্রাউজারগুলিতে একই জিআইডি ভাগ করে নিতে পারেন।


1

আমি মনে করি কুকিজ আপনি যা খুঁজছেন তা হতে পারে; বেশিরভাগ ওয়েবসাইট দর্শকদের স্বতন্ত্রভাবে সনাক্ত করে।


0

ধরে নিই যে আপনি ব্যবহারকারী নিয়ন্ত্রণে রাখতে চান না, আপনি পারবেন না। ওয়েব সেভাবে কাজ করে না, আপনি সবচেয়ে ভাল আশা করতে পারেন কিছু হিউরিস্টিক।

যদি আপনার দর্শকদের কিছু সফ্টওয়্যার ইনস্টল করতে এবং টিসিপিএ ব্যবহার করতে বাধ্য করা হয় তবে আপনি কিছুটা টানতে সক্ষম হতে পারেন।


0

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

আপনি যদি নিজের www.supertorrents.orgকম্পিউটার থেকে প্রথমবারের সাইনআপ পৃষ্ঠাটিতে যান তবে এটি ঠিক আছে। তবে আপনি যদি পৃষ্ঠাটি রিফ্রেশ করেন বা পৃষ্ঠাটি আবার খোলেন, এটি চিহ্নিত করে আপনি পূর্বে পৃষ্ঠাটি পরিদর্শন করেছেন। আসল সৌন্দর্য এখানে আসে - আপনি উইন্ডোজ বা অন্যান্য ওএস পুনরায় ইনস্টল করলেও এটি সনাক্ত করে।

আমি কোথাও পড়েছি যে তারা সিপিইউ আইডি সঞ্চয় করে। যদিও তারা এটি কীভাবে করতে পারে তা আমি খুঁজে পাইনি, তবে আমি গুরুতরভাবে সন্দেহ করেছি এবং এটি করার জন্য তারা ম্যাক ঠিকানা ব্যবহার করতে পারে।

আমি কীভাবে এটি করতে পারি তা অবশ্যই শেয়ার করব ।


www.supertorrents.org মারা গেছে
টুলকিট

0

একটি কৌশল:

  1. 2 নিবন্ধকরণ পৃষ্ঠা তৈরি করুন:

    প্রথম নিবন্ধকরণ পৃষ্ঠা: কোনও ইমেল বা সুরক্ষা চেক ছাড়াই (কেবল ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ)

    দ্বিতীয় নিবন্ধকরণ পৃষ্ঠা: উচ্চ সুরক্ষা স্তর সহ (ইমেল যাচাইকরণের অনুরোধ এবং সুরক্ষা চিত্র এবং ইত্যাদি)

  2. গ্রাহক সন্তুষ্টি, এবং এগুলি সহজেই নিবন্ধনের জন্য ডিফল্ট রেজিস্ট্রেশন পাতায় হওয়া উচিত (প্রথম রেজিস্ট্রেশন পাতায়) কিন্তু (প্রথম রেজিস্ট্রেশন পাতায়) একটি লুকানো সীমাবদ্ধতা নেই। এটি আইপি নিষেধাজ্ঞার। যদি কোনও আইপি দ্বিতীয় বার নিবন্ধন করার চেষ্টা করে, (উদাহরণস্বরূপ 1 ঘন্টােরও কম) ব্লক পৃষ্ঠাটি দেখানোর পরিবর্তে। আপনি স্বয়ংক্রিয়ভাবে (দ্বিতীয় নিবন্ধকরণ পৃষ্ঠা) প্রদর্শন করতে পারেন ।

  3. মধ্যে (প্রথম রেজিস্ট্রেশন পাতায়) আপনি (উদাহরণস্বরূপ: ব্লক মাত্র 1 ঘন্টা বা 24 ঘন্টার জন্য 1 আইপি থেকে 2 প্রচেষ্টা) সেট করতে পারেন এবং পরে (উদাহরণস্বরূপ) 1 ঘন্টা, আপনি যে আইপি থেকে অ্যাক্সেসের স্বয়ংক্রিয়ভাবে খুলতে পারে

দয়া করে নোট করুন: (প্রথম নিবন্ধকরণ পৃষ্ঠা) এবং (দ্বিতীয় নিবন্ধকরণ পৃষ্ঠা) পৃথক পৃষ্ঠাগুলিতে থাকা উচিত নয়। আপনি মাত্র 1 পৃষ্ঠা তৈরি করুন। (উদাহরণস্বরূপ: register.php) এবং প্রথম পিএইচপি স্টাইল এবং দ্বিতীয় পিএইচপি স্টাইলের মধ্যে স্যুইচ করার জন্য এটি স্মার্ট করুন


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