User agent allowlist ହେଉଛି web ର ସବୁଠାରୁ ପୁରୁଣା pattern ମଧ୍ୟରୁ ଗୋଟିଏ। ଆପଣ trusted crawler ଏବଂ client ନାମର ଏକ list ରଖନ୍ତି। ଯେତେବେଳେ request ଏକ matching User-Agent header ସହିତ ଆସେ, ଆପଣ ଏହାକୁ ଅନୁମତି ଦେଇଦିଅନ୍ତି, challenge କୁ ଛାଡ଼ନ୍ତି, କିମ୍ବା ଏହାକୁ ହାଲୁକା page ସର୍ଭ୍ କରନ୍ତି। ସେଟ୍ ହେବାକୁ କେବଳ କିଛି ମିନିଟ୍ ଲାଗେ ଏବଂ team ର ସମସ୍ତେ ଏହାକୁ ବୁଝନ୍ତି।
ଏହି pattern ଅଧିକ ଯୁକ୍ତିଯୁକ୍ତ ଥିଲା ଯେତେବେଳେ ପ୍ରମୁଖ automated visitor ମାନେ କେବଳ କିଛି search crawler ଏବଂ ଦୁଇ-ତିନିଟି monitoring tool ଥିଲେ। ଆଜି, AI agent, assistant ଏବଂ automated client ଅଧିକ ସଂଖ୍ୟାରେ application ରେ ପହଞ୍ଚୁଛନ୍ତି, ଏବଂ ସେମାନଙ୍କ ମଧ୍ୟରୁ ଅନେକେ ଏକ ନାମ ଘୋଷଣା କରନ୍ତି। ସେଇ ନାମଗୁଡ଼ିକର କେତେକ ସତ୍ୟ। କେତେକ କପି କରାଯାଇଥାଏ। Header କେଉଁଟି ସଠିକ୍ ତାହା କୁହିପାରେନାହିଁ।
Proof of Actor ଏକ ଭିନ୍ନ ଧାରଣା ନେଇ କାମ କରେ। ଏହା User-Agent string କୁ ଯେମିତି ଅଛି, ଏକ declaration ଭାବରେ ଧରେ, ଏବଂ ଯେତେବେଳେ ସେ evidence ରହିଥାଏ ସେତେବେଳେ ଏହାକୁ ଅଧିକ ଶକ୍ତ evidence ସହିତ ଏକାତ୍ମ କରେ। ଏହି ପୃଷ୍ଠାରେ ନାମ ଆଧାରିତ allowlisting ର ସୀମା, network-level check କେଉଁଠି ସହାୟକ, ଏବଂ verified signature ଓ explicit Unknown class କିପରି ଚିତ୍ରକୁ ପରିବର୍ତ୍ତିତ କରେ ତାହା ବ୍ୟାଖ୍ୟା କରାଯାଇଛି।
ସଂକ୍ଷିପ୍ତ ସଂସ୍କରଣ
| User agent allowlist | Proof of Actor | |
|---|---|---|
| ପ୍ରଧାନ evidence | User-Agent header ରେ ଏକ ନାମ | Signature, declaration ଏବଂ signal, ପ୍ରତ୍ୟେକଟି ନିଜ basis ସହିତ ଚିହ୍ନିତ |
| Client ଏହାକୁ fake କରିପାରେ କି? | ହଁ, ସେହି string ପଠାଇ | ଏକ declared basis ଦାବି କରାଯାଇପାରେ; verified basis ପାଇଁ signing key ଆବଶ୍ୟକ |
| ଆଉଟପୁଟ | list ରେ କି ନାହିଁ | Human, Human + AI, Agent କିମ୍ବା Unknown, ସହିତ ଏକ basis |
| ଅସ୍ପଷ୍ଟ traffic | Not allowlisted ବୋଲି ଧରାଯାଏ, କିମ୍ବା default ଭାବରେ ଅନୁମତି | Unknown, ଆପଣ route ପ୍ରତିକ୍ଷେପରେ ଯାହା ବାଛନ୍ତି ସେହି fallback ସହିତ |
| AI-assisted person | ଅଦୃଶ୍ୟ; ସେମାନେ ସାଧାରଣ browser ବ୍ୟବହାର କରନ୍ତି | Human + AI ନାମର ଏକ ସ୍ପଷ୍ଟ class, ଯେତେବେଳେ declared କିମ୍ବା observed ହୁଏ |
| Maintenance | ନାମ ପରିବର୍ତ୍ତିତ ହେଲେ manual list update | Agent operator ମାନଙ୍କ ପ୍ରକାଶିତ key; ଆପଣଙ୍କ code ମଧ୍ୟରେ policy |
| Install ସମୟରେ default | list ଯାହାକୁ ଅନୁମତି ଦେଏ | Observation; ଆପଣ policy ଯୋଡ଼ା ପର୍ଯ୍ୟନ୍ତ କିଛି ବଦଳେନାହିଁ |
| ସର୍ବୋତ୍ତମ | ଭଲ ଭାବରେ ବ୍ୟବହାର କରୁଥିବା, ଜଣାଶୁଣା client ମାନଙ୍କର ସସ୍ତା routing | Product ଏବଂ policy decision ପାଇଁ evidence-based actor context |
ପୃଷ୍ଠାର ଶେଷ ଅଂଶ ପ୍ରତ୍ୟେକ row ବ୍ୟାଖ୍ୟା କରେ।
User-Agent ଆଧାରରେ allowlisting କାହିଁକି spoof କରାଯାଇପାରେ
User-Agent header client ଦ୍ୱାରା ସେଟ୍ ହୁଏ। ଏକ browser ଏହା ସେଟ୍ କରେ, ଏକ script ଏହା ସେଟ୍ କରେ, ଏବଂ ଏକ agent framework ଏହା ସେଟ୍ କରେ। HTTP ର କୌଣସି ଅଂଶ value ସତ୍ୟ କି ନୁହେଁ ଯାଞ୍ଚ କରେନାହିଁ। ଯଦି ଆପଣଙ୍କ allowlist ଏକ string ଉପରେ trust କରେ, ଯେକେହି ସେଇ string କପି କଲେ ସେ ସେଇ ଏକେ treatment ପାଇବ।
ଏହାକୁ user agent spoofing କୁହାଯାଏ, ଏବଂ ଏହା ଏକ ସରଳ କାରଣରୁ ସାଧାରଣ: ଏହାର ଖର୍ଚ୍ଚ କିଛି ନୁହେଁ। ଯେ scraper ଏକ challenge ଏଡ଼ାଇବାକୁ ଚାହେଁ, ସେକେବଳ ଆପଣ trust କରୁଥିବା crawler ର ନାମ ଧାର କରିବାକୁ ପଡ଼େ। ଖରାପ ଭାବରେ ବ୍ୟବହାର କରୁଥିବା client ନିଜକୁ ଏକ popular assistant ବୋଲି ଦାବି କରିପାରେ। ଏକ legitimate tool ମଧ୍ୟ ଏକ generic browser string ପଠାଇପାରେ, କାରଣ library default ସେଭଳି କରିଥିଲା।
ଫଳ ହେଉଛି user agent allowlist ରେ ଦୁଇଟି failure mode ରହେ:
- False trust: ଏକ untrusted client trusted ନାମ ଦାବି କରେ ଏବଂ ପାର୍ ହୁଏ।
- False doubt: ଏକ legitimate client ଅପେକ୍ଷାତୀତ କିମ୍ବା generic string ପଠାଏ ଏବଂ ବିଫଳ ହୁଏ।
Header ମାତ୍ରରୁ ଏହି ଦୁଇ failure ମଧ୍ୟରୁ କେଉଁଟି ଘଟୁଛି ତାହା ଦେଖାଯାଏ ନାହିଁ। ଏହାই ପ୍ରାଧାନ୍ୟ ରଖୁଥିବା ସୀମା, ଏବଂ କେତେ list maintenance କଲେ ମଧ୍ୟ ଏହା ଦୂର ହୁଏନାହିଁ।
Header ଏଯାଁ କେଉଁଠି ଭଲ
ଏହାର ଅର୍ଥ ଏନୁହେଁ ଯେ ଆପଣ User-Agent string କୁ ଅଣଦେଖା କରିବା ଉଚିତ୍। ଭଲ ଭାବରେ ବ୍ୟବହାର କରୁଥିବା crawler ଏବଂ agent ମାନେ ସତତାର ସହିତ ନିଜକୁ ପରିଚୟ ଦେନ୍ତି, ଏବଂ ନାମ routing, analytics ଏବଂ debugging ପାଇଁ ଏକ ଉପଯୋଗୀ ସଙ୍କେତ। ଏହା client ନିଜେ କଣ କହୁଛି ତାହା କୁହେ।
ଏହି ତଥ୍ୟର ସଠିକ୍ ସ୍ଥାନ ହେଉଛି ଏକ declaration ଭାବରେ, ଅନ୍ୟ evidence ସହିତ ମିଶି ମୂଲ୍ୟାୟନ କରାଯାଇଥିବା, ଏକାକୀ access ଖୋଲିଦେବା key ଭାବରେ ନୁହେଁ। Proof of Actor ଏହାକୁ ସେହିପରି ଭାବରେ ରେକର୍ଡ କରେ।
Reverse DNS ଏବଂ IP list: ଅଂଶିକ ପଦକ୍ଷେପ
ଅନେକ team network check ସହିତ ଏକ allowlist କୁ ଶକ୍ତ କରନ୍ତି। ସେଗୁଡ଼ିକ ସହାୟକ, ଏବଂ ସେମାନେକୁ ସଠିକ୍ ଭାବରେ ବୁଝିବା ମୂଲ୍ୟବାନ।
Reverse DNS verification
କିଛି crawler operator ଏକ verification ପ୍ରକ୍ରିୟା document କରନ୍ତି: request ର IP address ପାଇଁ hostname lookup କରନ୍ତୁ, ଏହା operator ର domain ର ଅଂଶ କି ନୁହେଁ ଯାଞ୍ଚ କରନ୍ତୁ, ତାପରେ ସେ hostname କୁ lookup କରି ଏହା ସେଇ IP କୁ ଫେରିଯାଉଛି କି ନାହିଁ ସତ୍ୟାପନ କରନ୍ତୁ। ଯେତେବେଳେ ଏହି round trip ସଫଳ ହୁଏ, ଆପଣଙ୍କ ପାଖରେ request operator ର infrastructure ରୁ ଆସିଥିଲା ବୋଲି ପ୍ରକୃତ evidence ଥାଏ।
ସୀମାଗୁଡ଼ିକ ବ୍ୟବହାରିକ। ଏହା କେବଳ ସେହି operator ମାନଙ୍କ ପାଇଁ କାମ କରେ ଯେଉଁମାନେ ଏହାକୁ document ଏବଂ support କରନ୍ତି। ଏହା DNS lookup ଯୋଗ କରେ, ଯାହାକୁ ଆପଣ cache କରିବାକୁ ପଡ଼େ। ଏବଂ ଏହା network ବିଷୟରେ କୁହେ, କିନ୍ତୁ ସେ network ଉପରେ କେଉଁ product କିମ୍ବା agent request କଲା ସେ ବିଷୟରେ କୁହେନାହିଁ।
ପ୍ରକାଶିତ IP range
ଅନ୍ୟ operator ମାନେ ନିଜର automated client ଯେଉଁ IP range ବ୍ୟବହାର କରନ୍ତି ସେଗୁଡ଼ିକ ପ୍ରକାଶ କରନ୍ତି। ଏକ request କୁ ସେହି range ସହିତ match କରିବା ଦ୍ରୁତ ଏବଂ reverse DNS ସଦୃଶ evidence ଦିଏ। IP range ପ୍ରକାଶ ପାଇଁ standard format ଉପରେ ଚାଲୁଥିବା IETF ଆଲୋଚନା ରହିଛି, କିନ୍ତୁ November 2026 ପର୍ଯ୍ୟନ୍ତ କୌଣସି ସ୍ଥିର standard ନାହିଁ, ଏବଂ coverage ପ୍ରତ୍ୟେକ operator ନିଜେ ପ୍ରକାଶ କରିବାକୁ ବାଛନ୍ତି କି ନାହିଁ ତାହାରେ ନିର୍ଭର କରେ।
IP evidence shared cloud infrastructure ଉପରେ, proxy ପଛରେ, କିମ୍ବା user ର ନିଜ device ରୁ ଚାଲୁଥିବା ଅଧିକ agent ସହିତ କ୍ଷୀଣ ହୁଏ। ଏକ cloud address ଅନେକ ଅସମ୍ପର୍କିତ client କୁ host କରିପାରେ, ଏବଂ ଏକ person's browser ରୁ କାମ କରୁଥିବା agent ସେ person's network ଭଳି ଦେଖାଏ।
Network check ମିଳିକରି କଣ ଯୋଗ କରେ
Reverse DNS ଏବଂ IP list କିଛି declaration କୁ ଜଣାଶୁଣା operator ମାନଙ୍କର ଏକ subset ପାଇଁ ଅଧିକ ଶକ୍ତ କିଛିରେ ପରିଣତ କରେ। ସେମାନେ agents ଏବଂ tool ର ଦୀର୍ଘ ପଛ ଅଂଶ କୁ cover କରେନାହିଁ, ଏବଂ AI ସହିତ କାମ କରୁଥିବା person ମାନଙ୍କ ପାଇଁ ସେମାନେ ସମ୍ପୂର୍ଣ୍ଣ ଅକାମ୍ୟ। ସେମାନେ ଅଂଶିକ ପଦକ୍ଷେପ: ବ୍ୟବହାର କରିବା ମୂଲ୍ୟବାନ, କିନ୍ତୁ ଏକାକୀ ଯଥେଷ୍ଟ ନୁହେଁ।
Signature ବନାମ declaration
ଅଧିକ ଶକ୍ତ evidence ହେଉଛି cryptographic signature। HTTP Message Signatures ସହ, ଯାହା RFC 9421 ରେ ନିର୍ଦ୍ଧାରିତ, client ପ୍ରତ୍ୟେକ request ର ଚୟିତ ଅଂଶକୁ private key ସହିତ sign କରେ। Verifier operator ର ପ୍ରକାଶିତ public key ଆଣି signature ଯାଞ୍ଚ କରେ। ଯଦି ଏହା verify ହୁଏ, request ସେ key ଧାରଣକାରୀ ଦ୍ୱାରା sign ହୋଇଥିଲା, ଏବଂ signed ଅଂଶଗୁଡ଼ିକ ପଥରେ ବଦଳାଯାଇନଥିଲା।
IETF Web Bot Auth working group automated client ମାନେ କିପରି ଏହି signature ବ୍ୟବହାର କରନ୍ତି ଏବଂ ସେମାନେ କିପରି ନିଜର key ପ୍ରକାଶ କରନ୍ତି ତାହା standard କରୁଛି। Web Bot Auth for product teams ଉପରେ ଆମ explainer ବର୍ତ୍ତମାନର status ବ୍ୟାଖ୍ୟା କରେ।
Proof of Actor ଏକ valid signature କୁ verified evidence ଭାବରେ ବ୍ୟବହାର କରେ। User-Agent string, client hint କିମ୍ବା request body ଭିତରେ ଥିବା self-description declared ହେଉଛି। Behavioral ଏବଂ contextual signal inferred ହେଉଛି, ଏବଂ ସେହିଭଳି label କରାଯାଏ। ପ୍ରତ୍ୟେକ result କହେ ଯେ ଏହା କେଉଁ basis ଉପରେ ନିର୍ଭର କରେ, ଯାହାଦ୍ୱାରା ଆପଣଙ୍କ team କେବେ ମଧ୍ୟ claim କୁ check ସହିତ ମିଶାଏନାହିଁ। ସମ୍ପୂର୍ଣ୍ଣ definition ପାଇଁ evidence basis entry ଦେଖନ୍ତୁ।
ଏକ limit verified evidence ଉପରେ ମଧ୍ୟ ଲାଗୁହୁଏ। ଏକ valid signature ପ୍ରମାଣ କରେ କେଉଁ key request ଉପରେ sign କଲା। ଏହା ପ୍ରମାଣ କରେନାହିଁ ଯେ agent ଯାହା କରିବାକୁ ଚାହୁଁଛି ତାହା କରିବାକୁ ଅନୁମତିପ୍ରାପ୍ତ। ଏହା agent authorization ପ୍ରଶ୍ନ, ଏବଂ ସେଥିଆପଣଙ୍କ application ମଧ୍ୟରେ ରହେ।
ଅନୁମାନ କରିବା ପରିବର୍ତ୍ତେ Unknown କୁ ହାତଲ କରିବା
Allowlist ପ୍ରତ୍ୟେକ request କୁ ଦୁଇଟି bucket ମଧ୍ୟରୁ ଗୋଟିଏରେ ଠେଲିଦିଏ: list ଉପରେ କି ନୁହେଁ। ପ୍ରାୟୋଗିକ ଭାବରେ ଏହାର ଅର୍ଥ ହେଉଛି ଅସ୍ପଷ୍ଟ traffic କୁ ଆପଣଙ୍କ default ଯାହା ଅଛି ତାହା ମିଳେ, ଏବଂ default ସାଧାରଣତଃ ସମଗ୍ର site ପାଇଁ ଏକଥର ବାଛାଯାଏ।
Proof of Actor Unknown କୁ ପ୍ରଥମ-ଶ୍ରେଣୀର result ଭାବରେ ଧରେ। ଯେତେବେଳେ evidence ଏକ reliable determination କୁ ସମର୍ଥନ କରେନାହିଁ, ଏହା guess କରିବା ପରିବର୍ତ୍ତେ ସେଥି କୁହେ। ତାପରେ ଆପଣଙ୍କ policy ପ୍ରତ୍ୟେକ route ରେ Unknown କାହାକୁ କୁହାଯିବ ତାହା ନିଷ୍ପତ୍ତି କରେ:
- Public documentation କିମ୍ବା marketing page ଉପରେ, ଏହାକୁ ଅନୁମତି ଦିଅନ୍ତୁ।
- Search କିମ୍ବା listing endpoint ଉପରେ, ଆପଣଙ୍କ ସାଧାରଣ rate limit ସହିତ ଏହାକୁ ଅନୁମତି ଦିଅନ୍ତୁ।
- Account change ଉପରେ, ଆପଣଙ୍କ ବର୍ତ୍ତମାନ check ରଖନ୍ତୁ।
- High-impact action ଉପରେ, ଏହାକୁ review କୁ ପଠାନ୍ତୁ କିମ୍ବା ଅଧିକ ଶକ୍ତ signal ଚାହନ୍ତୁ।
handling Unknown traffic guide ଏବଂ unknown classification entry pattern ଦେଖାଏ। ସମୟକ୍ରମରେ ଆପଣଙ୍କ Unknown rate ଟ୍ରାକ୍ କଲେ ମଧ୍ୟ ଜଣାଯାଏ ଯେ ଆପଣଙ୍କ traffic ର କେତେ ଅଂଶ ଏଯାଁ ଦୁର୍ବଳ evidence ଉପରେ ନିର୍ଭର କରୁଛି।
AI-assisted person ବିଷୟରେ କଣ?
ଏକ user agent allowlist ସାଧାରଣ browser ମଧ୍ୟରେ AI assistant ବ୍ୟବହାର କରୁଥିବା ଏକ person ବିଷୟରେ କିଛି କୁହେନାହିଁ। ସେମାନଙ୍କର User-Agent ହେଉଛି ଏକ ସାଧାରଣ browser string। ତଥାପି ଅନେକ product ଏହି interaction କୁ ଚିହ୍ନିବାକୁ ଚାହେଁ, ଯଥା AI-drafted submission କୁ label କରିବା କିମ୍ବା AI-assisted user ମାନେ onboarding ମାଧ୍ୟମରେ କିପରି ଚାଲୁଛନ୍ତି ବୁଝିବା ପାଇଁ।
ସମର୍ଥିତ integration ମାଧ୍ୟମରେ assistance declared କିମ୍ବା observed ହେଲେ Proof of Actor ଏମିତି interaction କୁ Human + AI ଭାବରେ ରିପୋର୍ଟ କରେ। କେବଳ writing style ରୁ ଏହା guess କରେନାହିଁ। ଅଧିକ ପଢ଼ନ୍ତୁ AI-assisted interaction ରେ।
Allowlist ରୁ evidence-based policy କୁ ଯିବା
ଦିନକୁ ଦିନ one ରେ allowlist କୁ ହଟାଇବା ଦରକାର ନାହିଁ। ଏକ ସୁରକ୍ଷିତ ପଥ ଏଭଳି ଦେଖାଯାଏ:
- Observation mode ରେ install କରନ୍ତୁ। Proof of Actor କିଛି ବଦଳାଏନାହିଁ। ଆପଣଙ୍କ allowlist କାମ କରୁଥାଏ।
- Compare କରନ୍ତୁ। ପ୍ରତ୍ୟେକ route ପାଇଁ, କେଉଁ allowlisted request verified evidence ଧାରଣ କରୁଛି, କେଉଁଗୁଡ଼ିକରେ କେବଳ declaration ଅଛି, ଏବଂ କେଉଁଗୁଡ଼ିକ Unknown ହେଉଛି ଦେଖନ୍ତୁ।
- Policy preview କରନ୍ତୁ। verified agent, declared agent ଏବଂ Unknown କୁ ଭିନ୍ନ ଭାବରେ ହାତଲ କରୁଥିବା policy ଏକ draft କରନ୍ତୁ, ଏବଂ real traffic ଉପରେ ଏହାର ପ୍ରଭାବ preview କରନ୍ତୁ।
- Route-by-route enforce କରନ୍ତୁ। ଯେ route ରେ spoof ହୋଇଥିବା ନାମ ସବୁଠାରୁ ଅଧିକ ମାନେ ରଖେ ସେଠାରୁ ଆରମ୍ଭ କରନ୍ତୁ।
- Allowlist କୁ hint ଭାବରେ ରଖନ୍ତୁ। ନାମଗୁଡ଼ିକ routing ଏବଂ analytics ପାଇଁ ଉପଯୋଗୀ ରହେ, ଏବେ ସେମାନଙ୍କ basis visible ରହେ।
rolling out actor-aware policies safely guide ପ୍ରତ୍ୟେକ step ଆବରଣ କରେ, ଏବଂ verified automated requests signed client କିପରି fit କରେ ତାହା ବ୍ୟାଖ୍ୟା କରେ।
କେବେ allowlist ପର୍ଯ୍ୟାପ୍ତ
Low-stakes routing ପାଇଁ, ଯଥା public content ଉପରେ ଜଣାଶୁଣା crawler କୁ ହାଲୁକା page ସର୍ଭ୍ କରିବା, ଏକ user agent allowlist ସାଧାରଣତଃ ଠିକ୍। Spoof ହୋଇଥିବା ନାମର ଖର୍ଚ୍ଚ କମ୍।
ଯେତେବେଳେ decision ର ପରିଣାମ ରହେ, ଯଥା challenge ଛାଡ଼ିଦେବା, richer data ଖୋଲିଦେବା, କିମ୍ବା write ଅନୁମତି ଦେବା, ସେତେବେଳେ ଆପଣ check କରିପାରୁଥିବା evidence ଚାହିଁବେ। ସେଠି Proof of Actor ର ସ୍ଥାନ, ଆପଣ ପୂର୍ବରୁ ଚଳାଉଥିବା network check ଏବଂ edge control ସହିତ ମିଶି କାମ କରିବା।
ଆରମ୍ଭ କରନ୍ତୁ
Proof of Actor private beta ରେ ଅଛି। ଚୟିତ founding developer team ମାନେ agreed usage limit ମଧ୍ୟରେ up to 12 months ପର୍ଯ୍ୟନ୍ତ free access ପାଇପାରିବେ, automatic billing ଛଡ଼ା। early access ପାଇଁ apply କରନ୍ତୁ ଏବଂ ଆଜି ଆପଣ କେଉଁ client କୁ allowlist କରୁଛନ୍ତି ଏବଂ କେଉଁ route କୁ ଭଲ evidence ସହିତ protect କରିବାକୁ ଚାହୁଁଛନ୍ତି ଆମକୁ କୁହନ୍ତୁ।