ফরম্যাট স্ট্রিং − এটি একটি ASCII স্ট্রিং যা স্ট্রিং ফর্ম্যাট করার জন্য ব্যবহৃত হয়। এটি একটি ASCII স্ট্রিং যাতে টেক্সট এবং ফরম্যাটিং প্যারামিটার রয়েছে।
ফরম্যাটিং এর জন্য, প্রোগ্রামের আউটপুট, C.
-এ বিভিন্ন ফরম্যাট স্ট্রিং আছেস্ট্রিং দুর্বলতাগুলি ফর্ম্যাট করুন
এগুলি এমন বাগ যা প্রোগ্রামিংয়ের ত্রুটির কারণে উদ্ভূত হয় যা প্রোগ্রামার সহজেই তৈরি করতে পারে। যদি এই ধরনের কোনো ত্রুটি-প্রবণ কোড ব্লগ printf, sprintf, এর মতো আউটপুট ফাংশনে পাস করা হয় ইত্যাদি। তারপর লিখিত অপারেশন একটি নির্বিচারে মেমরি ঠিকানায় সঞ্চালিত হয়।
উদাহরণ
#include<stdio.h> #include<string.h> int main(){ char buffer[100]; strncpy(buffer, "Hii ", 5); printf(buffer); return 0; }
প্রতিরোধ
বিন্যাস স্ট্রিং দুর্বলতা প্রতিরোধ করার জন্য কিছু ব্যবস্থা নেওয়া যেতে পারে
-
তথ্য ইনপুট করার পরিবর্তে প্রোগ্রামের অংশ হিসাবে বিন্যাস স্ট্রিং ব্যবহার করার চেষ্টা করুন। এগুলি সহজেই “%s” স্ট্রিং ফর্ম্যাট ব্যবহার করে সমাধান করা যেতে পারে।
-
ফরম্যাট স্ট্রিং তৈরির জন্য ধ্রুবক ব্যবহার করুন এবং ধ্রুবক স্ট্রিং-এ ব্যবহার না করে ফাংশন কলের সমস্ত পরিবর্তনশীল স্ট্রিংসা আর্গুমেন্ট বের করুন।
-
যে ক্ষেত্রে ধ্রুবক এবং পরিবর্তনশীল স্ট্রিং ইনিশিয়ালাইজেশনের নিয়মগুলি অনুসরণ করা যায় না সেগুলির জন্য ফর্ম্যাট গার্ড ব্যবহার করা হয়৷