বেশিরভাগ লোকেরা এও অসচেতন যে আপনি কেবল একটি নাম / মান জুটি দিয়ে চাপলে ফর্ম বোতামটি আলাদা করতে পারেন। যেমন
<form action="process" method="post">
...
<input type="submit" name="edit" value="Edit">
<input type="submit" name="delete" value="Delete">
<input type="submit" name="move_up" value="Move up">
<input type="submit" name="move_up" value="Move down">
</form>
সার্ভার সাইডে, চাপানো আসল বোতামটি কেবলমাত্র বোতামটির নামের সাথে যুক্ত অনুরোধের প্যারামিটারের উপস্থিতি পরীক্ষা করেই পাওয়া যাবে can যদি তা না হয়null
, তবে বোতামটি টিপানো হয়েছিল।
আমি দেখেছি অনেক এর অপ্রয়োজনীয় জাতীয় হ্যাক / উদাঃ যে জন্য সমাধান নীচে উপস্থিত, ফর্ম কর্ম পরিবর্তন অথবা একটি লুকানো ইনপুট মান পরিবর্তন পূর্বেই নির্ভর করে বোতাম চাপা। এটি কেবল অবাক করা।
এছাড়াও, আমি টেবিল সারিগুলির মতো একাধিক চেকবাক্সগুলির চেকডগুলিকে সংগ্রহ করতে প্রায় অনেক জেএস হ্যাক / ওয়ার্কআরউন্ড দেখেছি। টেবিলের সারিটির প্রতিটি নির্বাচন / চেকের উপরে জেএস একটি লুকানো ইনপুট উপাদানটিতে সারি সূচকটি কিছু কমবেসযুক্ত মানতে যুক্ত করবে যা সার্ভারের পাশের অংশে আরও বিভক্ত / পার্স করা হবে। এটি অজানাতার ফলস্বরূপ যে আপনি একাধিক ইনপুট উপাদানগুলিকে একই নামটি দিতে পারেন তবে ভিন্ন মান দিতে পারেন এবং সার্ভারের পাশের একটি অ্যারে হিসাবে আপনি এখনও তাদের অ্যাক্সেস করতে পারেন। যেমন
<tr><td><input type="checkbox" name="rowid" value="1"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="2"></td><td> ... </td></tr>
<tr><td><input type="checkbox" name="rowid" value="3"></td><td> ... </td></tr>
...
অজান্তেই প্রতিটি চেকবাক্স একটি আলাদা নাম দেয় এবং পুরো মান বৈশিষ্ট্য বাদ দিতে পারে। কিছু জেএস-হ্যাক / ওয়ার্কআরউন্ড-মুক্ত পরিস্থিতিতে আমি চেক করা আইটেমগুলি আলাদা করতে সার্ভার সাইড কোডে কিছু অযৌক্তিকভাবে অপ্রতিরোধ্য ম্যাজিকও দেখেছি ।