কীভাবে রোবটগুলি কোনও ফর্ম পূরণ করতে বাধা দেয়?


105

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

আমি আমার সমস্ত ফর্মের মধ্যে কিছু লুকানো ক্ষেত্র স্থাপনের চেষ্টা করেছি, display: none; তবে আমি নিশ্চিত যে ফর্ম ফিল্ড আইডিটি সনাক্ত করার জন্য কোনও স্ক্রিপ্ট কনফিগার করা যেতে পারে এবং কেবল এটি পূরণ করা যায় না।

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

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


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

উত্তর:


73

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

বটস একটি পৃষ্ঠার অনুরোধ করে, পৃষ্ঠাটি বিশ্লেষণ করুন এবং ফর্মটি জমা দিন। এটি দ্রুত।

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

সময়ের পার্থক্য সূক্ষ্ম হতে পারে; এবং কীভাবে কুকিজ ছাড়াই এবার ট্র্যাক করবেন তার জন্য সার্ভার-সাইড ডাটাবেসের কিছু উপায় প্রয়োজন। এটি পারফরম্যান্সে প্রভাব ফেলতে পারে।
এছাড়াও আপনি থ্রেশহোল্ড-সময় tweak প্রয়োজন।


9
আপনি যদি শেষ ব্যবহারকারীদের স্বয়ংক্রিয় ফর্ম ফিলারগুলি যেমন addons.mozilla.org/en-US/firefox/addon/1882 ব্যবহার করতে অনুমতি দিতে চান তবে দেখুন যা খুব দ্রুত জমা দেওয়ার অনুমতি দিতে পারে। পাশাপাশি চূড়ান্ত ব্যবহারকারীর বিরক্তিকর কোনও জিনিস সাধারণত ক্যাপচা করা ভাল নয় এবং বিশেষত যখন হুরির কোনও ব্যক্তিকে দ্রুত (খুব) দ্রুত যেতে বাধা দেয়।
তুষারপাত

1
ভাল পয়েন্ট, তবে এটি সমস্ত প্রসঙ্গে নির্ভর করে। যদি ফর্মটি লগইন-ফর্ম হয় তবে আমি আপনার সাথে সম্পূর্ণ সম্মত। তবে কেন বট থেকে লগইন অক্ষম করবেন? যদি প্রসঙ্গটি কোনও মন্তব্য বক্স হয়, স্ট্যাকওভারফ্লোতে এটির মতো, তবে আমি নিশ্চিতভাবে জানি: আপনি যদি কোনও মন্তব্য বাক্সে স্বতঃপূরণ ব্যবহার করেন তবে আপনি স্প্যামার। মনে রাখবেন যে আপনি স্বাক্ষরগুলির জন্য অটো-ফিল ব্যবহার করলে, আপনার এখনও সামগ্রীটি আসলে টাইপ করতে সময় প্রয়োজন।
পিন্ডতজাহ

5
নোট করুন যে এসও এই জাতীয় কিছু করে। দ্রুত বা একাধিকবার দ্রুত মন্তব্য করতে সম্পাদনা করুন এবং "আপনি একজন মানুষ?" পাতা।
Jakob Borg

2
হ্যাকাররা সবসময় ফর্মটির জন্য অনুরোধ করবে না। কখনও কখনও, সাবধানে তৈরি একটি ইউআরএল (জিইটি বা পোষ্ট ব্যবহার করে) অল্প চেষ্টা করে একাধিকবার ফর্মটি পোস্ট করার জন্য যথেষ্ট হবে।
crafter

1
ক্যাপচা দিয়ে এটি প্রয়োগ করুন। যদি ফর্মটি খুব দ্রুত জমা দেওয়া হয় তবে আসল ব্যবহারকারীদের জন্য একটি ক্যাপচা উপস্থাপন করুন।
যশোবর্ধন 99

75

আমি আসলে দেখতে পাই যে একটি সাধারণ মধু পট ক্ষেত্রটি ভালভাবে কাজ করে। বেশিরভাগ বটগুলি প্রয়োজনীয় ক্ষেত্রের বৈধতা যাচাইকারীদের প্রত্যাশায় তারা প্রতিটি ফর্ম ফিল্ড পূরণ করে

http://haacked.com/archive/2007/09/11/honeypot-captcha.aspx

আপনি যদি একটি টেক্সট বক্স তৈরি, এটা জাভাস্ক্রিপ্ট লুকিয়ে, তারপর যাচাই করুন যে মান ফাঁকা সেখানে আউট আউট রোবট 99% এই আগাছা সার্ভারে, এবং আপনার ব্যবহারকারীদের কারণ 99% করে কোনো সব সময়ে হতাশা। বাকি 1% যা জাভাস্ক্রিপ্ট অক্ষম করেছে তারা এখনও টেক্সট বাক্সটি দেখতে পাবে, তবে আপনি এই জাতীয় ক্ষেত্রে (যদি আপনি তাদের বিষয়ে কিছু চিন্তা করেন না) তবে "এই ক্ষেত্রটি ফাঁকা ছেড়ে দিন" এর মতো একটি বার্তা যুক্ত করতে পারেন।

(এছাড়াও, লক্ষণীয় যে আপনি যদি মাঠে স্টাইল = "প্রদর্শন: কিছুই না" করেন তবে রোবোটের পক্ষে কেবল এটি দেখতে এবং ক্ষেত্রটি বাতিল করা খুব সহজ easy তাই আমি জাভাস্ক্রিপ্টের পদ্ধতির পছন্দ করি)।


1
আপনি কি মনে করেন যে বটগুলি আসলে সিএসএস ফাইলের মধ্য দিয়ে যায় এবং চিত্রটি প্রদর্শিত হয়: কোনওটি নয়; ? আমি সত্যিই বরং জেএস-ভিত্তিক সমাধানটি ব্যবহার করি না, কারণ এটি সহজেই অক্ষম করা যায়।
গাল

1
এটি ওয়েবমাস্টারদের ওয়েবারঙ্কিংকে উত্সাহ দেওয়ার জন্য টন অ প্রাসঙ্গিক কী শব্দ সহ এক পুরানো সমাধান বলে মনে হচ্ছে। আমি মনে করি অনুসন্ধান ক্রোলার বটগুলি যেমন গুগলগুলি এটির প্রদর্শনটি সনাক্ত করতে পারে: কোনওটি নয়। অন্য বটগুলি কেন এটি করতে সক্ষম হবে না?
স্নোফ্লেক

2
আমি এই কৌশলটি এখন দুটি সাইটগুলিতে ব্যবহার করেছি যেগুলি হামাগুড়ি পেয়েছিল এবং বট সাইনআপগুলি এখন দুজনেরই শূন্য 0। এটি লক্ষ্যযুক্ত আক্রমণগুলির বিরুদ্ধে সহায়তা করবে না, তবে বেশিরভাগগুলি কেবল শোষণের জন্য বা যাইহোক স্প্যামিংয়ের সন্ধান করছে।
nirvdrum

25
এখানে ছোট পয়েন্ট: জেএস ইস্যুটি ঘুরে দেখার জন্য, পৃষ্ঠার শীর্ষের উপরে আপনার হনিপোট ইনপুটটি অবস্থানের জন্য কেবল CSS ব্যবহার করুন - এইভাবে জেএস অক্ষম করা ঠিক হবে, এবং এর চারপাশে পেতে বটটি সিএসএস পার্স করতে সক্ষম হবে পরম পজিশনিং এবং এটি হানিপোট কিনা তা নিয়ে একটি সাধারণ জ্ঞানের সিদ্ধান্ত নিন। একটু বেশি বুলেট-প্রমাণ এই ভাবে :)
totallyNotLizards

3
@ অ্যালেক্সি ১৩ হ্যাঁ এটি আরও সহজ তবে উত্তরে যেমন উল্লেখ করা হয়েছে যে আপনি কী করতে চাইছেন তা নির্ধারণ করাও বটের পক্ষে খুব সহজ, কেবল একটি সিএসএস সম্পত্তি হিসাবে পরীক্ষা করুন। তবে, আপনি যদি নিখুঁত অবস্থানের কৌশলটি ব্যবহার করেন তবে বটকে আপনার সমস্ত অবস্থানের নিয়ম এবং উপাদানটির পিতামাতার বেশিরভাগ বিধি পার্স করে ইনপুটটি দৃশ্যমান হবে কিনা তা নির্ধারণ করতে সক্ষম হবে এবং তারপরে খুঁজে বের করতে হবে কিনা বা সেই তথ্যটির উপর কাজ না করা - যা বেশিরভাগ (সমস্ত না থাকলে) বটগুলির জন্য মূল্যবান তার চেয়ে আরও বেশি সমস্যা।
নটলিজার্ডস

22

তাহলে কি - বট কিছুতেই খুঁজে পাবে না form?

৩ টি উদাহরণ:

  1. এজেএক্স ব্যবহার করে আপনার ফর্মটি .োকান
  • আপনি যদি জেএস অক্ষম থাকা এবং কোনও ফর্ম দেখতে বা জমা দিতে সক্ষম না হয়ে ব্যবহারকারীদের সাথে ঠিক থাকেন তবে আপনি তাদের বিজ্ঞপ্তি দিতে পারেন এবং নোগ্রিপ্টের বিবৃতিটি ব্যবহার করে প্রথমে জাভাস্ক্রিপ্টকে সক্ষম করতে পারেন:
<noscript>
  <p class="error">
    ERROR: The form could not be loaded. Please enable JavaScript in your browser to fully enjoy our services.
  </p>
</noscript>
  • একটি তৈরি করুন form.htmlএবং formএকটি <div id="formContainer">উপাদান এর ভিতরে রাখুন ।

  • পৃষ্ঠাটির ভিতরে যেখানে আপনাকে সেই ফর্মটি কল করতে হবে তা খালি <div id="dynamicForm"></div>এবং এই jQuery ব্যবহার করুন:$("#dynamicForm").load("form.html #formContainer");

  1. সম্পূর্ণরূপে জেএস ব্যবহার করে আপনার ফর্মটি তৈরি করুন

// THE FORM
var $form = $("<form/>", {
  appendTo : $("#formContainer"),
  class    : "myForm",
  submit   : AJAXSubmitForm
});

// EMAIL INPUT
$("<input/>",{
  name        : "Email", // Needed for serialization
  placeholder : "Your Email",
  appendTo    : $form,
  on          : {        // Yes, the jQuery's on() Method 
    input : function() {
      console.log( this.value );
    }
  }
});

// MESSAGE TEXTAREA
$("<textarea/>",{
  name        : "Message", // Needed for serialization
  placeholder : "Your message",
  appendTo    : $form
});

// SUBMIT BUTTON
$("<input/>",{
  type        : "submit",
  value       : "Send",
  name        : "submit",
  appendTo    : $form
});

function AJAXSubmitForm(event) {
  event.preventDefault(); // Prevent Default Form Submission
  // do AJAX instead:
  var serializedData = $(this).serialize();
  alert( serializedData );
  $.ajax({
    url: '/mail.php',
    type: "POST",
    data: serializedData,
    success: function (data) {
      // log the data sent back from PHP
      console.log( data );
    }
  });
}
.myForm input,
.myForm textarea{
  font: 14px/1 sans-serif;
  box-sizing: border-box;
  display:block;
  width:100%;
  padding: 8px;
  margin-bottom:12px;
}
.myForm textarea{
  resize: vertical;
  min-height: 120px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="formContainer"></div>

  1. বট-টোপ ইনপুট
  • বটগুলি ( সত্যই পছন্দ করে) সসী ইনপুট উপাদানগুলির মতো:
<input 
  type="text"
  name="email"
  id="email"
  placeholder="Your email"
  autocomplete="nope"
  tabindex="-1"
They wll be happy to enter some value such as
`dsaZusil@kddGDHsj.com`
  • উপরের এইচটিএমএল ব্যবহারের পরে আপনি সিএসএসও ইনপুটটি প্রদর্শন না করতে ব্যবহার করতে পারেন:
input[name=email]{ /* bait input */
  /* do not use display:none or visibility:hidden
     that will not fool the bot*/
  position:absolute;
  left:-2000px;
}
  • এখন আপনার ইনপুটটি পিএইচপি তে প্রত্যাশা করছে যে আপনার $_POST["email"] খালি থাকা উচিত (কোনও মান ছাড়াই) ! অন্যথায় ফর্মটি জমা দিন না।
  • অবশেষে, আপনাকে যা করতে হবে তা হ'ল প্রকৃত ব্যবহারকারী ইমেল ঠিকানার জন্য "বট-টোপ" ইনপুট ( যেমন ) এর পরে আর একটি ইনপুট তৈরি করা ।<input name="sender" type="text" placeholder="Your email">

প্রাপ্তি স্বীকার:

বিকাশকারী.মজিলা - ফর্ম অটোকম্প্লেটিশন স্ট্যাক ওভারফ্লো বন্ধ করে
দেওয়া - ট্যাবিনডেক্স উপেক্ষা করুন


7
কোনও বৈধ ব্যবহারকারীর ব্রাউজারটি সম্ভবত ইমেল ক্ষেত্র হিসাবে টোপ ইনপুট ক্ষেত্রটি দেখতে পারে এবং ব্যবহারকারী যখন বাকী বাকী ফর্মটি স্বয়ংক্রিয়ভাবে পূরণ করতে চান তা স্বয়ংক্রিয়ভাবে এটি পূরণ করতে পারে? ব্যবহারকারী দেখতে পাবে না যে কোনও ফিল্ড দূরে পর্দা ভরাট হয়েছে এবং তারা এখনও বটের মতো দেখতে পাবে।
wilbbe01

আমি সন্দেহ করি যে এমডিএন ;-) এ autocomplete=nopeডিফল্ট হবে on: ইনপুট # অ্যাট্রি-স্বতঃপূরণ
হ্যান্ডেল করুন

@ এটি গুরুত্ব দেয় না, এটি একটি বট টোপ ইনপুট। আপনি autocomplete="oh sunny day"এই বিষয়ে লিখতে পারেন ।
রোকো সি। বুলজান

19

আমি যা করেছি তা হ'ল কোনও লুকানো ক্ষেত্র ব্যবহার করা এবং এটিতে টাইমস্ট্যাম্প লাগানো এবং তারপরে এটি পিএইচপি ব্যবহার করে সার্ভারের টাইমস্ট্যাম্পের সাথে তুলনা করে।

যদি এটি 15 সেকেন্ডের চেয়ে দ্রুত হয় (তবে আপনার ফর্মগুলি কতটা বড় বা ছোট তার উপর নির্ভর করে) যে বট ছিল।

এই সাহায্য আশা করি


1
ভাল ধারণা, তবে, আমি দ্রুত / শক্তি ব্যবহারকারীদের অনুমতি দেওয়ার জন্য সীমাটি প্রায় 3 থেকে 5 সেকেন্ডের মধ্যে রেখেছি। আমি এই একই পন্থাটি ব্যবহার করি এবং আমার ফর্মগুলির একটি সীমা নির্ধারণ করে 3 সেকেন্ডের মধ্যে 99% বট ফিল্টার করা হয়।
কায়লা

@ অ্যাডনহ্যাক আপনার কী বোঝাতে চাইছেন: ১) পিএইচপি সহ পৃষ্ঠা লোডে সার্ভারের সময় পান এবং সেশন তৈরি করুন। 2) ব্যবহারকারী বা বট ফর্ম পূরণ করে, ক্লিকগুলি জমা দিন, $.postবাহ্যিক পিএইচপি ফাইলে সমস্ত প্রেরণ সহ । 3) বাহ্যিক পিএইচপি আবার সার্ভার সময় পেতে এবং সেশন সময় সঙ্গে তুলনা?
অ্যান্ডিস

16

স্প্যামকে কার্যত নির্মূল করার একটি খুব কার্যকর উপায় হ'ল পাঠ্যক্ষেত্রের এমন পাঠ্য ক্ষেত্র রয়েছে যেমন "ফর্মটি জমা দেওয়ার জন্য এই পাঠ্যটি সরান!" এবং ফর্মটি জমা দেওয়ার জন্য সেই পাঠ্যটি অপসারণ করতে হবে।

ফর্ম বৈধকরণের পরে, যদি পাঠ্য ক্ষেত্রে মূল পাঠ্য থাকে বা এই বিষয়ে কোনও র্যান্ডম পাঠ্য থাকে তবে ফর্মটি জমা দিন না। বটগুলি ফর্মের নামগুলি পড়তে পারে এবং নাম এবং ইমেল ক্ষেত্রগুলি স্বয়ংক্রিয়ভাবে পূরণ করতে পারে তবে তারা জানে না যে জমা দেওয়ার জন্য তাদের কোনও নির্দিষ্ট ক্ষেত্র থেকে আসলে পাঠ্য সরাতে হবে কিনা।

আমি আমাদের কর্পোরেট ওয়েবসাইটে এই পদ্ধতিটি প্রয়োগ করেছি এবং এটি আমাদের প্রতিদিনের ভিত্তিতে যে স্প্যামটি পাচ্ছিল তা সম্পূর্ণরূপে হ্রাস পেয়েছে। এটা সত্যিই কাজ করেছে!


আকর্ষণীয়, আপনি কি জানেন যে এটি অন্যান্য উত্তরগুলির চেয়ে বেশি কার্যকর কিনা ... কোনও লুকানো পাঠ্যবক্স বা ফর্মটি পূরণ করতে যে সময় লাগে তা ট্র্যাক করে?
অস্টিন হেনলি

4
এটি সেই ব্যবহারকারীদেরকেও অনুসরণ করবে যারা নির্দেশনাগুলি অনুসরণ করতে পারে না, যা পছন্দসই নয়।
wilbbe01

আমি এই পছন্দ! যতক্ষণ না বট ফাঁকা এবং পূর্ণ ফিল্ডগুলির বিভিন্ন সংমিশ্রণের চেষ্টা শুরু করে ... পরীক্ষার সর্বোত্তম উপায় এটি প্রয়োগ করা হয় এবং এর মধ্যে একটি দিয়ে স্ক্যান করুন: sectoolmarket.com/…
nmit026

বট পরিচালনা করা ব্যক্তি যতক্ষণ না কার্যকর খুঁজে পায় এবং কোডটি টুইট করে না।
তালহা আওয়ান

11

পাঠ্যক্ষেত্রের ইনপুট বাক্সটি কীভাবে তৈরি করা যায় তা ব্যাকগ্রাউন্ডের মতো একই রঙে খালি থাকতে হবে। এটি বট রিডিং ডিসপ্লেতে সমস্যাটি পেয়ে যাবে: কিছুই নয়


2
এটিকে মন্তব্য হিসাবে যুক্ত করুন দয়া করে যখন আপনি উত্তরের পরিবর্তে আরও খ্যাতি পান;)
রব

3
এটি অ্যাক্সেসযোগ্যতার সমস্যাগুলি উপস্থাপন করে। হনিপট সূচকটি স্ক্রিন রিডার সহ ব্যবহারকারীদের থেকে গোপন করা হবে না।
ওটারফান

5
আমি একজন অন্ধ ব্যবহারকারী এবং আমি একবার এর মতো একটি ফর্ম ক্ষেত্র পেয়েছি এবং তার উপরে লেবেলটি পড়েছে: "আপনি যদি এটি দেখতে পারেন তবে এইটিকে ফাঁকা ছেড়ে দিন।" খুব কার্যকর আইএমও
পারহাম দৌস্তদার

8

http://recaptcha.net/

রেক্যাপচা একটি ফ্রি অ্যান্টিবোট পরিষেবা যা বই ডিজিটাইজড করতে সহায়তা করে

গুগল এটি অর্জন করেছে (২০০৯ সালে):

এছাড়াও দেখুন


5
একজন ব্যবহারকারী হিসাবে আমি প্রায়শই বার খুঁজে বের করা কঠিন বলে মনে করি rec কিছু শব্দ পড়তে খুব শক্ত, যে আপনি 3 বা 4 বার চেষ্টা করে শেষ। যদিও এটি অবশ্যই রোবট সমস্যার সাথে সহায়তা করবে।
ব্রায়ান

ব্রায়ান কী বলেছেন এবং: yro.slashdot.org/story/10/03/02/0135238/…
এসএফ।

আমি এই পৃষ্ঠায় নিজেকে খুঁজে পেয়েছি কারণ ক্যাপচা / রেক্যাপচা বর্তমানে বট ফর্ম জমা দেওয়া বন্ধ করে না। এটি 5 বছর পরে এবং এটি যখন এই উত্তরটি দেওয়া হয়েছিল তার চেয়ে একটি নতুন কৌশল
JohnnyFaldo

আমি কেন অবাক হয়েছি যে এই উত্তরটিতে আরও বেশি উত্সাহ নেই। ব্যবহারকারী পছন্দ করুন বা না করুন, এটি একটি দুর্দান্ত সমাধান। বিশেষত, যদি এটি কেবল নিবন্ধকরণ ফর্মের জন্য ব্যবহৃত হয়।
তোয়ি_ সমান্তরালতা

এই দিনগুলি রিপ্যাচচা একটি সাধারণ চেকবক্স হিসাবে শুরু হয়, সম্ভবত এটি আগের মতো বেদনাদায়ক নয়? ...
রজারডপ্যাক

6

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

এখানে একটি তুচ্ছ উদাহরণ ...

<script>
function checkForm()
{
    // When a user submits the form, the secretField's value is changed
    $('input[name=secretField]').val('goodValueEqualsGoodClient');

    return true;
}
</script>

<form id="cheese" onsubmit="checkForm">
<input type="text" name="burger">

<!-- Check that this value isn't the default value in your php script -->
<input type="hidden" name="secretField" value="badValueEqualsBadClient">

<input type="submit">
</form>

আপনার পিএইচপি স্ক্রিপ্টের কোথাও ...

<?php

if ($_REQUEST['secretField'] != 'goodValueEqualsGoodClient')
{
    die('you are a bad client, go away pls.');
}

?>

এছাড়াও, ক্যাপচা দুর্দান্ত এবং স্প্যামের বিরুদ্ধে সত্যই সেরা প্রতিরক্ষা।


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

আমি ভুল হতে পারি, তবে এটি প্রতিটি জেএস-অক্ষম ব্যবহারকারীকে বলবে না 'আপনি খারাপ ক্লায়েন্ট, প্লিজ চলে যান?'
গাল

গাল, এটি একটি তুচ্ছ উদাহরণ, কেবল ক্লায়েন্ট-সাইড জেএস দ্বারা সেট করা কোনও অনুরোধের বিপরীতে কীভাবে বৈধতা দেওয়া যায় তা প্রদর্শন করে।
জন হিমেলমান

@ জন হিমেলম্যান ক্যাপচাগুলি সমাধানযোগ্য এবং অগত্যা স্প্যামের বিরুদ্ধে সেরা প্রতিরক্ষা নয়। এন্টি - ক্যাপচা ডট কমের মতো পে-ফর-সার্ভিস রয়েছে যা স্বল্প মূল্যের জন্য ফর্ম ক্যাপচাকে সমাধান করবে।

এই পদ্ধতির সাথে সমস্যাটি হ'ল আমি ফ্যান্টমজেএস ব্যবহার করে প্রচুর বট দেখেছি। এটি তাদের মধ্য দিয়ে যাওয়ার অনুমতি দেবে।
পারহাম দৌস্তদার

4

আমি অবাক হয়েছি এখনও কেউ এই পদ্ধতির উল্লেখ করেনি:

  • আপনার পৃষ্ঠায়, একটি ছোট, লুকানো চিত্র অন্তর্ভুক্ত করুন।
  • এই চিত্রটি পরিবেশন করার সময় একটি কুকি রাখুন।
  • ফর্ম জমা দেওয়ার প্রক্রিয়া করার সময়, কুকির জন্য পরীক্ষা করুন।


পেশাদাররা:

  • ব্যবহারকারী এবং বিকাশকারীদের জন্য সুবিধাজনক
  • বিশ্বাসযোগ্য বলে মনে হচ্ছে
  • কোনও জাভাস্ক্রিপ্ট নেই

কনস:

  • একটি HTTP অনুরোধ যুক্ত করেছে adds
  • ক্লায়েন্টে কুকিজ সক্ষম করার প্রয়োজন


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


ফ্যান্টমজেএস এর মতো স্টাফ ব্যবহার করা বটগুলি সহজেই এটিকে ঘিরে ফেলতে পারে না?
পারহাম দৌস্তদার

1
এটি একটি সম্পূর্ণ ব্রাউজার ইঞ্জিন হিসাবে, এটি সম্পদ এবং এ জাতীয় লোড করে, হ্যাঁ এটি সম্ভব হওয়া উচিত। তবুও, আমি নিশ্চিত নই যে এটি প্রায়শই স্প্যাম বটের জন্য ব্যবহৃত হয়, কারণ এটি সম্ভবত সিআরএল স্ক্রিপ্টগুলির চেয়ে অনেক ধীর।
গ্রাস ডাবল

কোনও কারণেই এটি সিএসআরএফ টোকেনের চেয়ে ভাল হবে?
xenoterracide 15

1
কোনও সিএসআরএফ টোকেন কোনও বটকে থামবে না। 1 ম অনুরোধ, ফর্মটি পান, এতে টোকেন অন্তর্ভুক্ত রয়েছে। দ্বিতীয় অনুরোধ, টোকেন সহ ফর্মটি পোস্ট করুন।
গ্রাস ডাবল

4

হেডলেস ব্রাউজারগুলির উত্থানের সাথে (ফ্যান্টমজগুলির মতো) যা কোনও কিছু অনুকরণ করতে পারে, আপনি এটি ধরে নিতে পারবেন না :

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

যদি এটি সত্য ব্যবহৃত হত, তবে এটি আর সত্য নয়।

আপনি যদি কোনও ব্যবহারকারী বান্ধব সমাধানটি না চান তবে কেবল তাদের একটি সুন্দর "আমি স্প্যামার" জমা দেওয়ার বোতামটি দিন :

 <input type="submit" name="ignore" value="I am a spammer!" />
 <input type="image" name="accept" value="submit.png" alt="I am not a spammer" />

অবশ্যই আপনি দুটি চিত্রের input[type=image]বোতামের সাথে খেলতে পারবেন , প্রতিটি লোডের পরে ক্রম পরিবর্তন করে, পাঠ্য বিকল্পগুলি, চিত্রগুলির সামগ্রী (এবং তাদের আকার) বা nameবোতামগুলির; যার জন্য কিছু সার্ভার কাজের প্রয়োজন হবে।

 <input type="image" name="random125454548" value="random125454548.png"
      alt="I perfectly understand that clicking on this link will send the
      e-mail to the expected person" />
 <input type="image" name="random125452548" value="random125452548.png"
      alt="I really want to cancel the submission of this form" />

অ্যাক্সেসযোগ্যতার কারণে, আপনাকে একটি সঠিক পাঠ্য বিকল্প রাখতে হবে, তবে আমি মনে করি যে স্ক্রিটরিডার ব্যবহারকারীদের জন্য বট হিসাবে বিবেচনা করার চেয়ে একটি দীর্ঘ বাক্যটি ভাল।

অতিরিক্ত দ্রষ্টব্য: এই উদাহরণগুলি উদাহরণস্বরূপ বোঝায় যে ইংলিশ (বা যে কোনও ভাষা) বোঝার এবং স্প্যামবটের পক্ষে সহজ পছন্দ করার জন্য: 10 সেকেন্ড অপেক্ষা করা, সিএসএস বা জাভাস্ক্রিপ্ট পরিচালনা করা, কোনও ক্ষেত্রটি লুকানো রয়েছে তা জেনেও, মাউস পদক্ষেপকে অনুকরণ করে বা কীবোর্ড টাইপিং অনুকরণ, ...


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

@ হাওকি আমার উত্তর ছিল একটি শিরোনামহীন ব্রাউজারটি যে কোনও কিছু অনুকরণ করতে পারে : জাভাস্ক্রিপ্ট, বিলম্ব, মাউস মুভ, লুকানো ক্ষেত্রগুলি, ... আমার উদাহরণগুলির আগে "সুন্দর" শব্দটি ছিল "ব্যঙ্গাত্মক"। তবে এই উদাহরণগুলি বোঝায় যে ইংরাজী বোঝা, এবং একটি সহজ নির্বাচন করা স্পাম্বটের চেয়ে শক্ত: 10 সেকেন্ড অপেক্ষা করা, CSS বা জাভাস্ক্রিপ্ট পরিচালনা করা, জেনে যে কোনও ক্ষেত্রটি লুকানো রয়েছে, মাউস পদক্ষেপকে অনুকরণ করে বা কীবোর্ড টাইপকে অনুকরণ করে, ...
অ্যাডাম

আমি এখন আপনার পয়েন্ট দেখতে। আপনার উত্তরটিতে সম্ভবত শেষ বিবৃতি "তবে সেই উদাহরণগুলি চিত্রিত করে ..." ইত্যাদি যোগ করুন। কারণ এটি আপনাকে কী বোঝাতে চেয়েছিল তা বুঝতে আমাকে সহায়তা করেছিল। এটি প্রথমে একটি স্ববিরোধী যুক্তি বলে মনে হয়েছিল যে "আমরা বটগুলি ধরে নিতে পারি না ..." তবে তারপরে এমন কিছু তালিকাভুক্ত করুন যা আমরা এখনও ধরে নিতে পারি না যে বটগুলি করতে পারে না। তবে আপনার বক্তব্যটির মূল বক্তব্যটি হ'ল আপনার উদাহরণটি (যার ফলে সাবমিট বোতামটি বেছে নেওয়ার বিষয়টি বেছে নেওয়া) আরও শক্ত - যা (এখন আমি বুঝতে পেরেছি) একটি উজ্জ্বল উত্তর। +1
হক্কে

3

খুব সহজ উপায় হল কিছু ক্ষেত্র সরবরাহ করা <textarea style="display:none;" name="input"></textarea> এবং এগুলি পূরণ করা সমস্ত উত্তরগুলি বাতিল করে দেওয়া।

আর একটি পদ্ধতি জাভাস্ক্রিপ্ট ব্যবহার করে পুরো ফর্মটি (বা কেবল ক্ষেত্রের নাম) তৈরি করা; কয়েক বট এটি চালাতে পারে।

যাইহোক, আপনি তাইওয়ান বা ভারত থেকে সরাসরি "বটস" এর বিরুদ্ধে খুব বেশি কিছু করতে পারবেন না, যেগুলি প্রতি পোস্ট লিঙ্কে $ 0.03 প্রদান করে এবং তাদের জীবনযাত্রাকে এভাবেই তৈরি করে।


2
আমি জানি এই উত্তরটি প্রায় 7 বছর পুরানো তবে আমার মনে হচ্ছে এটি মন্তব্য করা উপযুক্ত। এই ধরণের সুরক্ষা এড়াতে অনেকগুলি বট ক্ষেত্রকে শৈলী = "প্রদর্শন: কিছুই নয়" উপেক্ষা করার জন্য প্রোগ্রাম করা যেতে পারে।
কেনি জনসন

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

2

আমার কাছে স্প্যামারগুলি বন্ধ করার জন্য একটি সহজ পদ্ধতি রয়েছে যা কমপক্ষে আমার অভিজ্ঞতায় 100% কার্যকর, এবং রেক্যাপচা এবং অনুরূপ পদ্ধতির ব্যবহার এড়িয়ে চলে। একবার এই পদ্ধতির প্রয়োগ করার পরে আমি আমার 5 টি সাইটের এইচটিএমএল ফর্মের উপর প্রতিদিন প্রায় 100 টি স্প্যাম থেকে গত শূন্যে চলে এসেছি।

এটি বেশিরভাগ এইচটিএমএল ফর্ম হ্যান্ডলিং স্ক্রিপ্টগুলির ইমেল ALIAS সক্ষমতার সুবিধা গ্রহণ করে কাজ করে (আমি formMail.pl ব্যবহার করি) পাশাপাশি গ্রাফিকস সাবমিশনের "কোড" যা খুব সহজেই গ্রাফিক্স প্রোগ্রামগুলির মধ্যে তৈরি হয়। এই জাতীয় গ্রাফিকের মধ্যে এম 19P17nH কোড এবং প্রম্পট রয়েছে "দয়া করে বাম দিকে কোডটি লিখুন"।

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

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

অবশ্যই, কোনও মানুষ এই সমস্যাটিকে একটি ফ্ল্যাশে সমাধান করতে পারে, রিকাটাচাএ এবং এই জাতীয়, আরও মার্জিত, স্কিমগুলির সাথে সম্পর্কিত সমস্ত সমস্যা ছাড়াই। যদি কোনও মানব স্প্যামার প্রাপক ব্যর্থতার প্রতিক্রিয়া জানায় এবং চিত্র কোডটি রোবটে প্রোগ্রাম করে, আপনি একবার বুঝতে পারবেন যে রোবটটি প্রতিক্রিয়া জানাতে কঠোরভাবে কোড করেছে। এই পদ্ধতির ব্যবহারের পাঁচ বছরে, আমি যে ফর্মগুলির উপর এটি ব্যবহার করি তার কোনওর থেকে আমার কোনও স্প্যাম ছিল না এবং ফর্মগুলির কোনও মানব ব্যবহারকারীর কাছ থেকে আমার কখনও অভিযোগও আসেনি। আমি নিশ্চিত যে এটি রোবোটের ওসিআর সক্ষমতার সাথে মারপিট করতে পারে, তবে আমার কোনও সাইটে এটি কখনও ঘটেনি যা এইচটিএমএল ফর্ম ব্যবহার করে। আমি "স্প্যাম ট্র্যাপস" (লুকানো "এখানে আসুন" এইচটিএমএল কোড যা আমার স্প্যাম বিরোধী নীতিগুলিকে নির্দেশ করে) ব্যবহার করেছে, তবে সেগুলি প্রায় 90% কার্যকর ছিল।


1

আমি এখানে অনেক কিছুই ভাবছি:

  1. জেএস ব্যবহার করে (যদিও আপনি এটি চান না) মাউস সরানো, কী টিপুন, মাউস ক্লিকটি ট্র্যাক করুন
  2. রেফারেল ইউআরএল পাওয়া (যা এক্ষেত্রে একই ডোমেন থেকে এক হওয়া উচিত) ... সাধারণ ব্যবহারকারীকে যোগাযোগের ফর্মটিতে পৌঁছানোর আগে অবশ্যই ওয়েবসাইটটি নেভিগেট করতে হবে: পিএইচপি: রেফারার ইউআরএল কীভাবে পাবেন?
  3. আইপি অর্জন করতে একটি $ _SESSION ভেরিয়েবল ব্যবহার করে এবং আইপিগুলির সেই তালিকার বিপরীতে ফর্মটি জমা দিন
  4. কিছু ডামি পাঠ্য সহ একটি পাঠ্য ক্ষেত্রে পূরণ করুন যা আপনি ওভাররাইট করা থাকলে সার্ভারের পাশ দিয়ে পরীক্ষা করতে পারেন
  5. ব্রাউজার সংস্করণটি দেখুন: http://chrisschuld.com / প্রকল্পগুলি / ব্রোজার- php-detecting-a-users- browser- from-php.html ... এটি স্পষ্ট যে একটি বট ব্রাউজার ব্যবহার করবে না তবে কেবল একটি স্ক্রিপ্ট ।
  6. একে একে ক্ষেত্রগুলি প্রেরণ করতে এবং এজাহারগুলির মধ্যে সময়ের মধ্যে পার্থক্য পরীক্ষা করতে এজ্যাক্স ব্যবহার করুন
  7. ফর্মের আগে / পরে একটি জাল পৃষ্ঠা ব্যবহার করুন, কেবল অন্য ইনপুট প্রেরণ করতে

আপনি কি এই কয়েকটি ধাপটি ভালিকু 2000 সম্পর্কে বিস্তারিত বলতে পারেন? সেগুলি কি এখনও 2020 এ বৈধ? ধন্যবাদ।
মাইকেল মরিয়ার্টি

0

অনেক ওয়েবসাইটের মতো এলোমেলো অক্ষর এবং সংখ্যাগুলি না করে অন্য একটি বিকল্প হ'ল চেনা যায় এমন জিনিসগুলির এলোমেলো ছবি। তারপরে ব্যবহারকারীকে ছবিতে রঙের কোনওটি, বা বস্তুটি নিজেই কী তা টাইপ করতে বলুন।

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


ভাল ধারণা. আমি রঙ হিসাবে মানদণ্ড হিসাবে ব্যবহার করব না, কারণ এটি কলরব্লাইন্ড ব্যবহারকারীদের বাদ দিতে পারে
নীল আইটেকেন

হ্যাঁ, ভাল কথা। প্রকৃতপক্ষে চিত্রগুলির সাথে একটি সমস্যা হ'ল এগুলি অ্যাক্সেসযোগ্য নয় এবং এটিকে ওয়েল ট্যাগ সহ "অ্যাক্সেসযোগ্য" করে রোবটগুলি সহজেই সেগুলি বের করতে পারে।
ব্রায়ান

চিত্রগুলি সর্বদা একটি খারাপ ধারণা ... লেখাটি সবেই পড়া যায়, আমি অন্যান্য ওয়েবসাইটগুলির সাথে এই সমস্যার মুখোমুখি হয়েছি
ভালিকু 2000

এটি কেবলমাত্র একটি খুব ছোট বাঁকযুক্ত ক্যাপচা যা ব্যবহারকারীদের পক্ষে আরও কঠিন। এছাড়াও এটি মোটেই অ্যাক্সেসযোগ্য নয়।
মিহাই পি।

0

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

অন্যথায় আমি মনে করি আপনি "মানবতা" এর ক্লায়েন্ট প্রমাণের একটি ফর্ম ব্যবহার করতে বাধ্য হবেন


4
স্মার্ট রোবট জাভাস্ক্রিপ্ট কার্যকর করতে পারে। একটি জাভাস্ক্রিপ্ট সমাধান করে আপনি 99% রোবটকে ব্লক করছেন
বেন শিমিরমান

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

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

0

বটের সাহায্যে স্প্যাম না পেয়ে সেরা সমাধানটি হ'ল আপনার ফর্মটিতে খুব তুচ্ছ প্রশ্ন বা ক্ষেত্র ব্যবহার করা।

এই জাতীয় ক্ষেত্র যুক্ত করার চেষ্টা করুন:

  • বাক্সে "হ্যালো" একপাশে অনুলিপি করুন
  • 1 + 1 =?
  • বাক্সে ওয়েবসাইটের নামটি কপি করুন

এই কৌশলগুলি ব্যবহারকারীরকে ফর্মটিতে কী কী ইনপুট থাকতে হবে তা বোঝাতে প্রয়োজন, ফলে বিস্তৃত বট ফর্ম পূরণের লক্ষ্য হওয়া অনেক কঠিন হয়ে যায়।

সম্পাদনা

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


একজন ব্যবহারকারী হিসাবে, আমি সেই বকাঝকাটিকে ঘৃণা করি। আমি পেয়েছি যে স্প্যামটি একটি সমস্যা, তবে সাইট ব্যবহারকারী হিসাবে এটি আমার সমস্যা কীভাবে? মন্তব্য স্প্যাম সাইটের মালিকদের জন্য একটি সমস্যা এবং এর মতো ব্যবহারকারীর এটিকে প্রতিরোধের বোঝা নেওয়া উচিত নয়। আপনি যদি কোনও দোকানে যান এবং আপনার জুতাগুলিকে মোপ করতে চান না বলে সুরক্ষামূলক বুটিগুলি রাখার জন্য বলা হয়, তখন আপনার চিন্তাভাবনাগুলি কী হবে? এটি কেবল কয়েক সেকেন্ড সময় নেয়, তবে এটি বহন করা আপনার বোঝা নয়।
মাইক

@ মিকি স্প্যাম কোনও সাইটের মালিককে সময় নষ্ট করে দেয়। সময় অর্থ, আমি যা বিক্রি করি তা আপনার জন্য আরও ব্যয়বহুল। আপনার যুক্তিটি সহজেই এটি ব্যবহার করে ব্যবহার করা যেতে পারে যে "আপনাকে ভাড়া দিতে হবে তা আমি যত্ন করি না, আমি উত্পাদন ব্যয় + 1 to দিতে চাই। আপনি আমার সমস্যা কীভাবে ভাড়া দিচ্ছেন"। হোস্টিং, পরিবহন, সময় ইত্যাদির জন্য আপনি যখন অর্থ প্রদান করেন
মিহাই পি।

@ মাইক - এটি আপনার সমস্যা কারণ আপনি ফর্মটি কাজ করতে চান (স্পষ্টতই, যেহেতু আপনি এটি ব্যবহার করছেন)। মেশিনগুলি এমনকি সর্বাধিক অস্পষ্ট সাইটগুলি সন্ধান করে এবং এই ফর্মগুলিকে অকেজো করে তোলে বলে দিনে কয়েক হাজার জমা জমা দেয় will সুতরাং পরের বার যখন আপনি তাদের ওয়েবসাইটে একটি ফর্ম ব্যবহার করে একটি ছোট ব্যবসায় একটি প্রশ্ন জমা দিন এবং এটি করতে আপনাকে 9 + 3 যোগ করতে হবে ... এবং নিজেকে জিজ্ঞাসা করুন "আমাকে এটি করতে হবে কেন?" আপনার উত্তর হতে পারে "কারণ আমি আসলে আমার প্রশ্নের উত্তর চাই"।
জিম্বো জনি

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

@ জিম্বো জোনির কেসটি এই প্রশ্নে, সর্বোচ্চ উত্তর (এবং স্বীকৃত) প্রশ্নের উত্তর দেখুন। কোনওরকম ব্যবহারকারীর ইনপুট জড়িত না। স্প্যাম প্রশমনটি সেভাবেই হওয়া উচিত।
মাইকে

0

JQuery সাইটে এটি সম্পর্কে একটি টিউটোরিয়াল রয়েছে । যদিও এটি জিকিউরির ধারণাটি কাঠামোর স্বাধীন।

যদি জাভাস্ক্রিপ্ট উপলভ্য না থাকে তবে আপনাকে আবার ক্যাপচা টাইপ পদ্ধতির কাছে পড়তে হতে পারে।


0

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


0

এটি কেবলমাত্র একটি ধারণা, আইডি আমার অ্যাপ্লিকেশনটিতে এটি ব্যবহার করে এবং ভালভাবে কাজ করে

আপনি জাভাস্ক্রিপ্ট বা জ্যাকুরির সাহায্যে মাউস চলাচলে একটি কুকি তৈরি করতে পারেন এবং কুকি উপস্থিত থাকলে সার্ভার সাইড চেক করতে পারেন, কারণ কেবল মানুষেরই মাউস থাকে, কুকি কেবল তাদের দ্বারা তৈরি করা যায় কেবল কুকি একটি টাইমস্ট্যাম্প বা একটি টোকেন হতে পারে যা বৈধ হতে পারে


আকর্ষণীয় ধারণা! আপনি কি আদৌ বাস্তব বিশ্বে এটি ব্যবহার করেছেন?
স্কাইবন্ডসর

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

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

0

টোকেন সহ 1) ফর্মটি ব্যবহার করুন 2) আইপি ঠিকানার সাথে বিলম্ব করতে ফর্মটি চেক করুন 3) ব্লক আইপি ()চ্ছিক)


0

আমার অভিজ্ঞতায়, ফর্মটি যদি কেবল একটি "যোগাযোগ" ফর্ম হয় তবে আপনার বিশেষ ব্যবস্থা গ্রহণের প্রয়োজন নেই। স্প্যামটি ওয়েবমেল পরিষেবাদিগুলির দ্বারা শালীনভাবে ফিল্টার হয়ে যায় (কার্যকরভাবে আপনার ইমেলটিতে কী পৌঁছেছে তা দেখতে আপনি সার্ভার-স্ক্রিপ্টগুলির মাধ্যমে ওয়েবফর্ম অনুরোধগুলি ট্র্যাক করতে পারেন, অবশ্যই আমি ধরে নিচ্ছি আপনার একটি ভাল ওয়েবমেল পরিষেবা রয়েছে: ডি)

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

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

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


0

প্রকৃতপক্ষে প্রদর্শন সহ ফাঁদ : কোনও কিছুই কবজির মতো কাজ করে না। এটি কোনও সিএসএস ঘোষণাকে কোনও গ্লোবাল স্টাইল শীটযুক্ত একটি ফাইলে স্থানান্তরিত করতে সহায়তা করে, যা স্প্যাম বটগুলিকে সেগুলি লোড করতে বাধ্য করবে (প্রত্যক্ষ শৈলী = "প্রদর্শন: কিছুই নয়;" ঘোষণাকে স্প্যাম বট দ্বারা ব্যাখ্যা করা যেতে পারে, যেমন একটি ডকুমেন্টের মধ্যেই স্থানীয় স্টাইলের ঘোষণা)।

এটি অন্যান্য পাল্টা ব্যবস্থার সাথে একত্রিত হওয়া উচিত যে কোনও স্প্যামের বটগুলি তাদের জাঙ্কটি আনড করার জন্য এটি তৈরি করতে হবে (আমার কাছে একটি অতিথি বই রয়েছে বিভিন্ন ধরণের ব্যবস্থা সহ সুরক্ষিত and অন্যরা ট্রিগার করতে প্রস্তুত))

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

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


0
  1. আমি একটি পদ্ধতি ব্যবহার করি যেখানে একটি লুকানো পাঠ্যবাক্স রয়েছে। যেহেতু বটগুলি ওয়েবসাইটকে বিশ্লেষণ করে তারা সম্ভবত এটি পূরণ করে। তারপরে আমি এটি খালি কিনা তা পরীক্ষা করে দেখি যদি এটি ওয়েবসাইট না করে ফিরে আসে।

  2. ইমেল যাচাইকরণ যুক্ত করুন। ব্যবহারকারী একটি ইমেল পান এবং তার একটি লিঙ্কে ক্লিক করা প্রয়োজন। অন্যথায় কিছু সময় পোস্ট বাতিল।


0

আমি আমার ফর্মগুলিতে একটি সময় পরীক্ষা যোগ করেছি। 3 সেকেন্ডেরও কম ভরাট হলে ফরমগুলি জমা দেওয়া হবে না এবং এটি আমার জন্য বিশেষত দীর্ঘ ফর্মগুলির জন্য দুর্দান্ত কাজ করছে। এখানে ফর্ম চেক ফাংশন যা আমি জমা বোতামে কল করি

function formCheck(){
var timeStart; 
var timediff;

$("input").bind('click keyup', function () {
    timeStart = new Date().getTime();          
}); 
 timediff= Math.round((new Date().getTime() - timeStart)/1000);

  if(timediff < 3) { 
    //throw a warning or don't submit the form 
  } 
  else submit(); // some submit function

}

0

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


কৌতূহলের বাইরে, রেকাপচা সম্পর্কে আপনার কী অনুভূতি? আপনি প্রথম অন্যান্য প্রদত্ত পরিষেবাদির উল্লেখ করছেন, তবে সেগুলি কীভাবে পুনঃসংযোগের সাথে তুলনা করে, এবং / অথবা আপনি কেন তাদের নিখরচায় পরিষেবাটি সুপারিশ করবেন?
হক্কে

0

জাভাস্ক্রিপ্ট বৈধতার পরে সঠিক ক্রিয়াকলাপ যোগ করে আপনি স্প্যাম-রোবটদের ঠকানোর চেষ্টা করতে পারেন। যদি রোবট জাভাস্ক্রিপ্টকে ব্লক করে তবে তারা কখনই ফর্মটি সঠিকভাবে জমা দিতে পারে না।

এইচটিএমএল

<form id="form01" action="false-action.php">
    //your inputs
    <button>SUBMIT</button>
</form>

অবশ্যই JAVASCRIPT

$('#form01 button').click(function(){

   //your Validations and if everything is ok: 

    $('#form01').attr('action', 'correct-action.php').on("load",function(){
        document.getElementById('form01').submit()
    });
})

আমি ত্রুটিগুলি রোধ করতে .attr () এর পরে একটি "কলব্যাক" যুক্ত করব।


-1

শুধু আমার পাঁচ সেন্ট মূল্য। এর উদ্দেশ্য যদি 99% রোবট বন্ধ করে দেয় যা বেশ ভাল বলে মনে হয়, এবং যদি 99% রোবট জাভা স্ক্রিপ্টটি চালাতে না পারে তবে সর্বোত্তম সমাধান যা সকলকে পরাজিত করে তা কেবল একটি ফর্মটি ব্যবহার না করা যার সাথে জমা দেওয়ার ক্রিয়া রয়েছে simply একটি পোস্ট ইউআরএল।

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

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