⚠️ අධ්‍යාපනික අනුකරණයක් පමණි | Educational Simulation Only. මෙය සැබෑ පද්ධතියක් නොවේ.

💡 උත්සාහ කර බලන්න (Hint):

සාමාන්‍ය මුරපදයක් වෙනුවට පහත කේතය Password එකට ටයිප කර "Login" ඔබන්න.

' OR '1'='1
🗄️ Live Database Query Monitor
SELECT * FROM users WHERE username = '' AND password = '';

📊 Query Result:

id username role status
Waiting for query...

🚨 SQL Injection සාර්ථක විය!

ඔබ සාර්ථකව පද්ධතියට ඇතුළු වූයේ මුරපදය දැනගෙන නොව, Database Query එකම වෙනස් කිරීමෙනි.

සිදුවූයේ කුමක්ද? (How it worked):

❌ Vulnerable Code (අසුරක්ෂිත):

query = "SELECT * FROM users
        WHERE username = '" + username + "'
        AND password = '" + password + "'";

→ මෙහිදී පරිශීලකයා ඇතුළත් කරන දේ කෙලින්ම Query එකට එකතු වේ.
✅ Secure Code (ආරක්ෂිත):

query = "SELECT * FROM users
        WHERE username = ? AND password = ?";
statement.setString(1, username);
statement.setString(2, password);

→ Parameterized Queries මගින් ඇතුළත් කරන දත්ත කේතයක් ලෙස ක්‍රියාත්මක වීම වළක්වයි.

🛡️ SQL Injection වැළැක්වීමේ ක්‍රම: