روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ پویا پارسایی
هم نام بودن نام سر ستون‌ها و مقدار name در input‌ها مشکل امنیتی دارد؟
جامعه پی اچ پی ایجاد شده در ۰۸ آذر ۱۴۰۰
<p>سلام و عرض ادب</p><p>آخر این جلسه آقای بسحاق فرمودند که واسه راحتی کار تیم بک اند نام اینپوت‌های فرم‌ها رو با نام سرستون‌های جداول دیتابیس یکی گذاشتن.</p><p>فکر کنم تو یکی از جلسات گفته شد که این کار از لحاظ امنیتی درست نیست. آیا دلیل خاصی واسه این کار بوده؟ یا در جلسات آینده این مورد بازنگری میشه؟</p>

سلام. خیر. تاثیری روی امنیت نداره.

این مورد معمول هست از یه سری کلمات عمومی در جداول استفاده میکنیم.

نام هایی مثه: username - password - email - ... و مخصوصا id .

محسن موحد ۰۸ آذر ۱۴۰۰، ۱۸:۱۹
<p>ممنون بابت پاسختون جناب موحد.</p><p>خب اینجوری داریم نام سر ستون هامون رو درون یک تگ html که به راحتی واسه هکر در دسترسه لو میدیم. یعنی اون هکر الان میدونه که این table ما ستون هایی به نام به طور مثال email یا username داره.</p>
پویا پارسایی ۰۹ آذر ۱۴۰۰، ۰۹:۴۰

خب اسامی این ستون‌ها تا زمانی که دسترسی به دیتابیس نداشته باشه، بدرد کسی نمیخوره.

شما به cms‌های پی اچ پی مثل وردپرس نگاه بندازید، اینها که کدهاشونم هکرها میدونن چیه! کاری که شما باید انجام بدید مدیریت و هندل اتصالات به دیتابیس و جداولتونه، به اسامی ستون‌ها فکر نکنید. مهمترین ستونی که اکثر جداول دارن id هست و حتی در بعضی سایتها مقدارشم مشخصه مثلا آیدی کاربر، یا آیدی پست و...

بهترین پاسخ
محسن موحد ۰۹ آذر ۱۴۰۰، ۱۰:۰۳

یه نکته دیگه هم اضافه کنم، فرضا بگید اگر هکر sql injection بزنه چی؟ معمولا تزریق کد در ادامه اون query اضافه میشه یعنی نام ستون آمده است و هکر مقادیر جدید و دستورات جدید به کوئری اضافه میکنه.

این صفحه رو میتونید ببینید.

محسن موحد ۰۹ آذر ۱۴۰۰، ۱۰:۱۳