🎧 Listen to this article: English
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
ସଫ୍ଟୱେୟାର ବିକାଶ କରିବା ସମୟରେ, ସୁରକ୍ଷା ସର୍ବଦା ଏକ ପ୍ରାଥମିକତା ଅଟେ। କିନ୍ତୁ ବେଳେବେଳେ, ଏକ ସୁରକ୍ଷା ଫିକ୍ସ ଅଜାଣତରେ କାର୍ଯ୍ୟକାରିତାକୁ ବ୍ୟାହତ କରିପାରେ। ଏହି ବିଷୟଟି ଆଜି ବିଶେଷ ଭାବରେ ପ୍ରାସଙ୍ଗିକ, କାରଣ ଡେଭଲପରମାନେ ନିଜର ଆପ୍ଲିକେସନଗୁଡ଼ିକ ସୁରକ୍ଷିତ ରହିବା ସୁନିଶ୍ଚିତ କରିବା ସହ ନୂଆ ଫିଚରଗୁଡ଼ିକୁ ଯୋଡ଼ିବା ଜାରି ରଖିଛନ୍ତି।
ପରିଚୟ
ନିକଟରେ, DEV Community କୁ ଚଳାଉଥିବା ଓପନ-ସୋର୍ସ ପ୍ଲାଟଫର୍ମ Forem ରେ ଏକ ନୂଆ ଫିଚର ଯୋଗ କରାଯାଇଥିଲା। ଏହି ଫିଚର ୟୁଜରମାନଙ୍କୁ Mermaid ବ୍ୟବହାର କରି ଚିତ୍ର ତିଆରି କରିବାକୁ ଅନୁମତି ଦିଏ, ଯାହା ଟେକ୍ସଟରୁ ଚିତ୍ର ରେଣ୍ଡର କରିବା ପାଇଁ ଏକ ଲୋକପ୍ରିୟ ଟୁଲ୍ ଅଟେ। ତେବେ, ଏହି ଫିଚରର ବିକାଶ ସମୟରେ ଏକ ସୁରକ୍ଷା ଆଲର୍ଟ ଦେଖାଦେଇଥିଲା ଯାହା ଅପ୍ରତ୍ୟାଶିତ ସମସ୍ୟା ସୃଷ୍ଟି କରିପାରିଥାନ୍ତା।
ନୂଆ ଫିଚର
Mermaid ଚିତ୍ର ସମର୍ଥନର ଅର୍ଥ ହେଉଛି ଫେନ୍ସଡ୍ Mermaid କୋଡ୍ ବ୍ଲକଗୁଡ଼ିକ ବର୍ତ୍ତମାନ କେବଳ ସାଧାରଣ ଟେକ୍ସଟ୍ ପରିବର୍ତ୍ତେ ପ୍ରକୃତ ଚିତ୍ର ଭାବରେ ରେଣ୍ଡର ହେବ। ଉଦାହରଣ ସ୍ୱରୂପ, ଏକ ସାଧାରଣ ଫ୍ଲୋଚାର୍ଟ ସିଧାସଳଖ ପୋଷ୍ଟଗୁଡ଼ିକରେ ପ୍ରଦର୍ଶିତ ହୋଇପାରିବ, ଯାହା ଯୋଗାଯୋଗର ଭିଜୁଆଲ୍ ଦିଗକୁ ବୃଦ୍ଧି କରିଥାଏ।
ସୁରକ୍ଷା ଚିନ୍ତା
ଏହି ଫିଚରକୁ ଇଣ୍ଟିଗ୍ରେଟ୍ କରିବା ସମୟରେ, ଏହାର ବ୍ୟବହାର ଯୋଗୁଁ ଏକ ସୁରକ୍ଷା ଆଲର୍ଟ ଟ୍ରିଗର ହୋଇଥିଲା innerHTML Document Object Model (DOM) ରେ ୟୁଜର-ଜେନେରେଟେଡ୍ ବିଷୟବସ୍ତୁ ଇନସର୍ଟ କରିବା ପାଇଁ। ଏହି ପ୍ରକ୍ରିୟା Cross-Site Scripting (XSS) ଭଳି ଦୁର୍ବଳତା ସୃଷ୍ଟି କରିପାରେ, ଯେଉଁଠାରେ ଜଣେ ଆକ୍ରମଣକାରୀ ଅନ୍ୟ ୟୁଜରମାନଙ୍କ ଦ୍ୱାରା ଦେଖାଯାଉଥିବା ୱେବ୍ ପେଜଗୁଡ଼ିକରେ କ୍ଷତିକାରକ ସ୍କ୍ରିପ୍ଟ ଇଞ୍ଜେକ୍ଟ କରିପାରିବେ।
ପ୍ରସ୍ତାବିତ ସମାଧାନ
ଏହି ସୁରକ୍ଷା ଚିନ୍ତାକୁ ସମାଧାନ କରିବା ପାଇଁ, ପ୍ରସ୍ତାବିତ ସମାଧାନ ଥିଲା DOMPurify ନାମକ ଏକ ଲାଇବ୍ରେରୀ ବ୍ୟବହାର କରି ବିଷୟବସ୍ତୁକୁ ସାନିଟାଇଜ୍ କରିବା। ଏହି ଲାଇବ୍ରେରୀ ଇନପୁଟ୍କୁ ବ୍ରାଉଜରରେ ରେଣ୍ଡର ହେବା ପୂର୍ବରୁ ସଫା କରି XSS ଆକ୍ରମଣକୁ ରୋକିବାରେ ସାହାଯ୍ୟ କରେ।
ଅପ୍ରତ୍ୟାଶିତ ପରିଣାମ
କିନ୍ତୁ, ଏହି ଫିକ୍ସ ପ୍ରୟୋଗ କରିବା ଦ୍ୱାରା ଏକ ଅପ୍ରତ୍ୟାଶିତ ପରିଣାମ ହୋଇଥିଲା। ଏହା କିଛି ନିର୍ଦ୍ଦିଷ୍ଟ ଚିତ୍ର ପ୍ରକାରରେ ଲେବଲ୍ ଗୁଡ଼ିକର ହଟିଯିବାର କାରଣ ହେଲା। ଏହି ସମସ୍ୟା କୌଣସି କ୍ରାସ୍ କିମ୍ବା ଟେଷ୍ଟ ବିଫଳତା ସୃଷ୍ଟି କରିନଥିଲା, କିନ୍ତୁ ଏହାର ଅର୍ଥ ଥିଲା ଯେ ଚିତ୍ରଗୁଡ଼ିକ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଟେକ୍ସଟ୍ ଉପାଦାନ ବିନା ରେଣ୍ଡର ହୋଇଥିଲା, ଯାହା ସେଗୁଡ଼ିକୁ କମ୍ ଉପଯୋଗୀ କରିଦେଇଥିଲା।
ବିକାଶ ପ୍ରକ୍ରିୟା
ବିକାଶ ପ୍ରକ୍ରିୟାରେ କିଛି ପଦକ୍ଷେପ ସାମିଲ ଥିଲା:
ପଦକ୍ଷେପ ୧: ଫିଚରକୁ ଲାଗୁ କରିବା
- Mermaid ଚିତ୍ର ସମର୍ଥନ Forem ରେ ଇଣ୍ଟିଗ୍ରେଟ୍ କରାଯାଇଥିଲା।
ପଦକ୍ଷେପ ୨: ସୁରକ୍ଷା ଆଲର୍ଟର ସମାଧାନ
- ଏହାର ବ୍ୟବହାରକୁ ନେଇ ଏକ ସୁରକ୍ଷା ଆଲର୍ଟ ଉଠାଯାଇଥିଲା
innerHTML. - ପ୍ରସ୍ତାବିତ ଫିକ୍ସ ଥିଲା DOMPurify ବ୍ୟବହାର କରି ଇନପୁଟ୍ କୁ ସାନିଟାଇଜ୍ କରିବା।
ପଦକ୍ଷେପ ୩: ଫିକ୍ସକୁ ଟେଷ୍ଟ କରିବା
- ଫିକ୍ସକୁ ଲାଗୁ କରିବା ପରେ, ସବୁକିଛି ଆଶାମୁତାବକ କାମ କରୁଛି କି ନାହିଁ ସୁନିଶ୍ଚିତ କରିବାକୁ ଟେଷ୍ଟ କରାଯାଇଥିଲା।
- ଏହା ଜଣାପଡିଥିଲା ଯେ ଚିତ୍ରଗୁଡ଼ିକରୁ ଲେବଲ୍ ଗୁଡ଼ିକ ଗାୟବ ଥିଲା, ଯାହା ଦ୍ୱନ୍ଦ୍ୱ ସୃଷ୍ଟି କରିଥିଲା।
ମୁଖ୍ୟ ଶିକ୍ଷା
ଏହି ପରିସ୍ଥିତି ସୁରକ୍ଷା ଫିକ୍ସ ଲାଗୁ କରିବା ସମୟରେ ପୁଙ୍ଖାନୁପୁଙ୍ଖ ଟେଷ୍ଟିଂର ଗୁରୁତ୍ୱକୁ ଆଲୋକପାତ କରେ। ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ବିଦ୍ୟମାନ କାର୍ଯ୍ୟକାରିତାକୁ ବ୍ୟାହତ ନକରୁଛି ବୋଲି ସୁନିଶ୍ଚିତ କରିବା ଅତ୍ୟନ୍ତ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ। ଏଠାରେ କିଛି ଶିକ୍ଷା ଦିଆଗଲା:
- ସାନିଟାଇଜେସନ୍ ଆଉଟପୁଟ୍ ପରିବର୍ତ୍ତନ କରେ: ଏକ ସାନିଟାଇଜର ଯୋଗ କରିବା ଦ୍ୱାରା କଣ ରେଣ୍ଡର ହେଉଛି ତାହା ବଦଳିପାରେ, ତେଣୁ ଏହିପରି ଫିକ୍ସ ଲାଗୁ କରିବା ପରେ ଆଉଟପୁଟକୁ ଯାଞ୍ଚ କରିବା ଜରୁରୀ ଅଟେ।
- ନିରବ ବିଫଳତା ସମସ୍ୟା ସୃଷ୍ଟି କରେ: ବିନା ସୂଚନାରେ ବିଫଳ ହେଉଥିବା କନଫିଗୁରେସନ୍ ସେଟିଂସ ଅପ୍ରତ୍ୟାଶିତ ବ୍ୟବହାରକୁ ଆମନ୍ତ୍ରଣ ଦେଇପାରେ, ଯାହା ଡିବଗିଂ କୁ ଅଧିକ କଷ୍ଟକର କରିଦିଏ।
- ପୁଙ୍ଖାନୁପୁଙ୍ଖ ଟେଷ୍ଟ କରନ୍ତୁ: ସୁରକ୍ଷା ଫିକ୍ସଗୁଡ଼ିକ ଅଜାଣତରେ ଫିଚରଗୁଡ଼ିକୁ ଖରାପ କରୁନାହିଁ ତାହା ନିଶ୍ଚିତ କରିବାକୁ ସର୍ବଦା ଟେଷ୍ଟ କରନ୍ତୁ।
ନିଷ୍କର୍ଷ
Forem ରେ Mermaid ଚିତ୍ର ସମର୍ଥନର ଇଣ୍ଟିଗ୍ରେସନ ଏକ ବଢିଆ ଯୋଗ ଥିଲା। କିନ୍ତୁ, ୟୁଜରମାନଙ୍କୁ ସୁରକ୍ଷା ଦେବା ଉଦ୍ଦେଶ୍ୟରେ ଆସିଥିବା ସୁରକ୍ଷା ଫିକ୍ସ ଭିତରେ ଥିବା ସମସ୍ୟାଗୁଡ଼ିକୁ ମଧ୍ୟ ପଦାକୁ ଆଣିଥିଲା ଯାହାର ସମାଧାନ ଆବଶ୍ୟକ ଥିଲା। ଏହି ଅନୁଭବ ସଫ୍ଟୱେୟାର ବିକାଶରେ ସୁରକ୍ଷା ଏବଂ କାର୍ଯ୍ୟକାରିତା ମଧ୍ୟରେ ଥିବା ସୂକ୍ଷ୍ମ ସନ୍ତୁଳନକୁ ମନେ ପକାଇଦିଏ।
ଗୁଣ
- ଚିତ୍ର ସହିତ ଭିଜୁଆଲ୍ ଯୋଗାଯୋଗକୁ ବୃଦ୍ଧି କରେ।
- ୟୁଜର-ଜେନେରେଟେଡ୍ ବିଷୟବସ୍ତୁକୁ ସାନିଟାଇଜ୍ କରି ସୁରକ୍ଷା ବଢାଏ।
- କୋଡିଂ ଏବଂ ଟେଷ୍ଟିଂରେ ସର୍ବୋତ୍ତମ ଅଭ୍ୟାସକୁ ଉତ୍ସାହିତ କରେ।
ଦୋଷ
- ଅପ୍ରତ୍ୟାଶିତ ପରିଣାମ ହୋଇପାରେ, ଯେପରିକି ଚିତ୍ରଗୁଡ଼ିକରେ ଲେବଲ୍ ଗାୟବ ହେବା।
- ନିରବ ବିଫଳତା ସମସ୍ୟାଗୁଡ଼ିକୁ ଚିହ୍ନଟ କରିବା କଷ୍ଟକର କରିଦିଏ।
- କାର୍ଯ୍ୟକାରିତା ଅକ୍ଷୁର୍ଣ୍ଣ ରହିବା ନିଶ୍ଚିତ କରିବାକୁ ପୁଙ୍ଖାନୁପୁଙ୍ଖ ଟେଷ୍ଟିଂ ଆବଶ୍ୟକ କରେ।
ସତର୍କତା
ଏହି ଆର୍ଟିକିଲ୍ ଶିକ୍ଷଣ ଉଦ୍ଦେଶ୍ୟ ପାଇଁ ଅଟେ। ଏକ ବାସ୍ତବ ଆପ୍ଲିକେସନରେ କୌଣସି ପ୍ଲେସହୋଲ୍ଡର୍ ମୂଲ୍ୟଗୁଡ଼ିକୁ ପ୍ରକୃତ ଡାଟା ସହିତ ପରିବର୍ତ୍ତନ କରାଯିବା ଆବଶ୍ୟକ। ପାଠକମାନେ ନିର୍ଭର କରିବା ପୂର୍ବରୁ ମୂଳ ସ୍ରୋତ ସହିତ ଦାବିଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରିବା ଉଚିତ୍।
ପ୍ରାୟତଃ ପଚରାଯାଉଥିବା ପ୍ରଶ୍ନ (FAQ)
- DOMPurify କଣ? — DOMPurify ହେଉଛି HTML ସାନିଟାଇଜ୍ କରିବା ଏବଂ XSS ଆକ୍ରମଣକୁ ରୋକିବା ପାଇଁ ବ୍ୟବହୃତ ଏକ ଲାଇବ୍ରେରୀ।
- Cross-Site Scripting (XSS) କଣ? — XSS ହେଉଛି ଏକ ସୁରକ୍ଷା ଦୁର୍ବଳତା ଯାହା ଆକ୍ରମଣକାରୀଙ୍କୁ ୱେବ୍ ପେଜଗୁଡ଼ିକରେ କ୍ଷତିକାରକ ସ୍କ୍ରିପ୍ଟ ଇଞ୍ଜେକ୍ଟ କରିବାକୁ ଅନୁମତି ଦିଏ।
- ଚିତ୍ରଗୁଡ଼ିକରେ ଥିବା ଲେବଲ୍ ଗୁଡ଼ିକର କଣ ହେଲା? — ସୁରକ୍ଷା ଫିକ୍ସଟି ଅଜାଣତରେ ବିନା କୌଣସି ଏରରରେ କିଛି ନିର୍ଦ୍ଦିଷ୍ଟ ଚିତ୍ର ପ୍ରକାରରୁ ଲେବଲ୍ ଗୁଡ଼ିକୁ ହଟାଇଦେଇଥିଲା।
- ଏକ ସୁରକ୍ଷା ଫିକ୍ସ ପରେ ଟେଷ୍ଟିଂ କାହିଁକି ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ? — ଟେଷ୍ଟିଂ ସୁନିଶ୍ଚିତ କରେ ଯେ ସୁରକ୍ଷା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ବିଦ୍ୟମାନ କାର୍ଯ୍ୟକାରିତାକୁ ବ୍ୟାହତ ନକରେ।
- Mermaid ଚିତ୍ର ସମର୍ଥନ କଣ? — ଏହା ୟୁଜରମାନଙ୍କୁ Forem ପ୍ଲାଟଫର୍ମରେ ଟେକ୍ସଟରୁ ସିଧାସଳଖ ଚିତ୍ର ତିଆରି କରିବାକୁ ଏବଂ ରେଣ୍ଡର କରିବାକୁ ଅନୁମତି ଦିଏ।
- ସାନିଟାଇଜେସନ୍ ଆଉଟପୁଟକୁ କିପରି ପ୍ରଭାବିତ କରେ? — ସାନିଟାଇଜେସନ୍ ଆଉଟପୁଟରେ ଥିବା ଉପାଦାନଗୁଡ଼ିକୁ ହଟାଇପାରେ କିମ୍ବା ପରିବର୍ତ୍ତନ କରିପାରେ, ଯାହା ଦ୍ୱାରା ବିଷୟବସ୍ତୁ ଗାୟବ ହୋଇପାରେ।
ଟ୍ୟାଗ୍ସ
#security #javascript #webdev #opensource #DOMPurify #XSS #Mermaid #Forem #DEV #programming
Prompt-Injection Defense Checklist
The controls that actually reduce the blast radius when your app feeds untrusted text to an LLM. Enter your email — you'll get the PDF instantly, plus new posts on AI, security & Linux.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.