কম্পিউটার টিউটোরিয়াল

SQL ইনজেকশন কী এবং Python-এ এটি প্রতিরোধ করা

SQL ইনজেকশন (SQL Injection) একটি ওয়েব হ্যাকিং টেকনিক যেখানে ক্ষতিকর কোড ইনপুট দিয়ে ডেটাবেসে ম্যালিশিয়াস কোড ঢোকানো হয় এবং ডেটাবেস নষ্ট করা হয়।

মূল কারণ: ব্যবহারকারীর ইনপুট সরাসরি SQL কোয়েরিতে ব্যবহার করা হলে সেটি কোয়েরিকে ম্যানিপুলেট করতে পারে।

উদাহরণ: ছাত্র আপনার ID দিয়ে নিজের ডেটা দেখে। যদি সে ইনপুট দেয় "12345 or 1=1", তবে কোয়েরি হয়: SELECT * FROM Students WHERE id = 12345 or 1=1 1=1 সবসময় সত্য, তাই অন্যের ডেটাও দেখাবে।

MySQL কনেক্টর মডিউলে প্লেসহোল্ডার (%s) ব্যবহার করে কোয়েরি ভ্যালু এস্কেপ করা যায় এবং SQL ইনজেকশন রোধ করা যায়।

উদাহরণ

Students টেবিল থেকে নিরাপদে ডেটা কোয়েরি:

import mysql.connector

db = mysql.connector.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="database_name"
)

cursor = db.cursor()
query = "SELECT * FROM Students WHERE Name = %s"
name = ("Karan",)
cursor.execute(query, name)
for row in cursor:
    print(row)

এখানে %s প্লেসহোল্ডার ব্যবহার করা হয়েছে, যা ইনপুটকে নিরাপদে এস্কেপ করে।

আউটপুট

('Karan', 4, 'Amritsar', 95)
  1. অ্যাডওয়্যার বোঝা: এটি কীভাবে কাজ করে এবং কীভাবে নিজেকে রক্ষা করবেন

  2. রিপ্লে আক্রমণ বোঝা: এটি কীভাবে কাজ করে এবং আপনার নেটওয়ার্ক কীভাবে রক্ষা করবেন

  3. Google Discover মास্টার করুন: আপনার ফিড বুঝুন, কাস্টোমাইজ ও কন্ট্রোল করুন

  4. উইন্ডোজ ১১-এ সাজেস্টেড অ্যাকশন ব্যবহার: কুইক গাইড