یک جدول users بسازید با ستون‌های id (INT AUTO_INCREMENT PRIMARY KEY)، username و password (VARCHAR)، سپس یک رکورد نمونه وارد کنید که رمز آن با تابع PASSWORD() هش شده باشد و در پایان یک کوئری بنویسید که با دریافت نام‌کاربری و رمز ورودی، بررسی کند آیا کاربر معتبر است یا خیر.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:08

0.0

برای حل از MySQL استفاده کنید: ابتدا با CREATE TABLE جدول را بسازید، سپس با INSERT INTO رمز را با PASSWORD('plain') ذخیره کنید. برای اعتبارسنجی از SELECT ... WHERE username = '...' AND password = PASSWORD('ورودی') استفاده کنید تا مقایسه هش‌ها انجام شود. نکته: برای جلوگیری از SQL Injection از prepared statements یا پارامترها استفاده کنید و بدانید تابع PASSWORD() برای مصارف داخلی MySQL است و در محیط‌های تولیدی بهتر است از الگوریتم‌های امن‌تری مثل SHA2 یا bcrypt بهره ببرید.

توسط پژوهشگر در 220 روز قبل ساعت 02:08
دسته بندی ها: MySQL MySQL for beginner
nima در 220 روز قبل ساعت 10:52

طرح ساخت جدول و استفاده از PASSWORD() برای هش رمز عبور کار خوبی است اما در محیط تولیدی امن نیست. پیشنهاد می‌شود به‌جای PASSWORD() از الگوریتم‌های امن‌تر مثل bcrypt یا SHA2 با salt استفاده کنید. برای جلوگیری از SQL Injection حتماً از prepared statements یا پارامتر binding استفاده کنید. همچنین به‌خاطر بسپارید PASSWORD() برای مصارف داخلی MySQL است و در پروژه‌های واقعی بهتر است از راهکارهای امنیتی به‌روز استفاده شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری