مهمان عزیز خوش آمدید. ورود ثبت نام



امتیاز موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
دسترسی ورود مدیر با php

دسترسی ورود مدیر با php
سلام خسته نباشید
طی همون تکمیل اسکریپت من الان پنل رو کامل با ادیتور طراحی و کدنویسی کردم و فقط ی مشکل هست
تو کدی که من نوشتم فقط یوزر آدمین تست میشه و اگه درست بود به ادامه کار میره و اگه اشتباه بود به index.php میره این:
کد:
session_start();
if ( isset($_POST['username']) && isset($_POST['username']) )
{
include "config.php";
if ( ($_POST['username'] == $adminuser) && ($_POST['username'] == $adminpass) )
{
$_SESSION['user'] = $_POST['username'];
header ("Location: home.php");
}
}
در صورتی که تو کد از متغیر یعنی پسورد هم استفاده کردم ولی باز اگه یوزر اشتباه باشه وارد نمیشه ولی اگه یوزر درست و رمز اشتباه باشه عمل نمیکنه و وارد میشه
مشکل کجاست؟
ببخشید ی سوال دی میپرسم
الان پنل رو طراحی کردم راه های که میتونم امنیت اون رو افزایش بدم چیه؟
مثلا الان من تو فایل config.php یوزر و پسورد رو به صورتی دستی وارد کردم ولی میخام تو دیتابیس این عمل انجام بشه مثلا اینطوری ی جدول ساخته بشه به اسم\:
tadbd_admin_user و فیلد ها اون مثل:username $password چک بشه مثل مای بی بی اونو چکار باید بکنم؟
مرسی
مرسی
پاسخ
باید اینجوری باشه:
http://paste.white-crow.ir/view/249/2y10Ax7oVFXAltd

یعنی باید اون یکی $_POST['password'] باشه احتمالا


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
پاسخ
درست شد ممنون
ببخشید در مورد امنیت و اون قسمت اگه میشه ی راهنمایی کنید ممنون میشم
مرسی
پاسخ
(۰۸ تير ۱۳۹۴، ۱۲:۳۶ ب.ظ)websun نوشته:  درست شد ممنون
ببخشید در مورد امنیت و اون قسمت اگه میشه ی راهنمایی کنید ممنون میشم
مرسی

 
درود نسبت به امنیت سایتتون کافیه که یک بروت فورس بزنن و خب وارد میشن # اول اینکه چک کردن پسورد خیلی مهم هست و حتما از یک هش باید مثل md5 استفاده بشه البته جدیدا از md5 کم تر استفاده میشه و الگوریتم های مختلف دیگ استفاده میکنن
نکته دیگ باید یک تعداد باری رو ست کنید ک اگر مثلا سه بار اشتباه وارد شد یوزرنیم و پسورد تا یه مدت زمان مثلا پپانزده دقیقه قفل بشه ورود با اون یوزر
امنیت خیلی مفصل هست# ولی مختصر و مهمش اینه
پاسخ
(۰۸ تير ۱۳۹۴، ۰۸:۱۳ ب.ظ)mx13 نوشته:  
(۰۸ تير ۱۳۹۴، ۱۲:۳۶ ب.ظ)websun نوشته:  درست شد ممنون
ببخشید در مورد امنیت و اون قسمت اگه میشه ی راهنمایی کنید ممنون میشم
مرسی


 
درود نسبت به امنیت سایتتون کافیه که یک بروت فورس بزنن و خب وارد میشن # اول اینکه چک کردن پسورد خیلی مهم هست و حتما از یک هش باید مثل md5 استفاده بشه البته جدیدا از md5 کم تر استفاده میشه و الگوریتم های مختلف دیگ استفاده میکنن
نکته دیگ باید یک تعداد باری رو ست کنید ک اگر مثلا سه بار اشتباه وارد شد یوزرنیم و پسورد تا یه مدت زمان مثلا پپانزده دقیقه قفل بشه ورود با اون یوزر
امنیت خیلی مفصل هست# ولی مختصر و مهمش اینه

 
خب در بسته شدن حساب کاربری فک کنم کار بهتر و قانونی تر باشه از نظر امنیت اما با کمی ویرایش
به این صورت باشه
الان من دسترسی ها رو در فایل config.php  به این صورت وارد کردم:
کد:
$adminuser="admin"
$adminpass="admin"
و در index.php گفته که این دوتا رو چک کنه حالا بخام این شکل بشه چکار باید بکنم؟
میخام یوزر ها تو دیتابیس ذخیره بشه به این صورت
یک چدول user-admin ساخته باشیه و فیلد هاش این باشه:id که کلید باشه email /username/password و حالا تو index.php بیاد این فیلد ها رو چک کنه که همچین اطلاعاتی وجود داره یانه برای امنیت بیتشر هم ایمیل هم درخواست کنه چطور میشه؟
پاسخ
برای امنیت بیشتر برای ذخیره سازی میتونید از الگوریتم های Crypt کردن مثل BCrypt استفاده کنید. (توی گوگل سرچ کنید آموزشش رو پیدا کنید)
برای ورود یکی از کارهای خوب استفاده از روش 2FA یا احراز هویت دو فاکتوره هست، که فرد برای بعد از وارد کردن رمز و پسورد نیاز داره یه کد دیگه رو وارد کنه، که این کد میتونه توسط نرم‌افزار دیگه‌ای مثل Authy یا Google Authentication ساخته بشه یا SMS بشه به موبایل (که راه حل اول کم هزینه تر هست)، این باعث میشه حتی اگه فردی رمز شما رو داشته باشه، نتونه وارد حسابتون بشه.

در مورد مشکلتون که رمز درست رو میزنید و وارد نمیشه، form ای که برای login درست کردید رو بزارید.

برای استفاده از دیتابیس، اول حتما password ها رو اگه از الگوریتم‌های hash مثل md5 استفاده می‌کنید حتما از salt استفاده کنید (salt یه رشته‌ی تصادفی هست که ساخته میشه و در دیتابیس باید ذخیره بشه و به جای استفاده از md5(pass) مثلا از md5(salt.pass) استفاده بشه و یا از الگوریتم های امن تر مثل BCrypt استفاده کنید.

برای چک کردن اینکه توی دیتابیس وجود داره یا نه هم با sql با استفاده از select میشه دیگه...


دعای خیر برای اعضای گروه مای بی‌بی فارسی را فراموش نکنید!تصویر: http://www.cdn.my-bb.ir/images/smilies-v6/lightbulb.gif

HeartHeart خیلی التماس دعا دارم... دعام کنید لطفا HeartHeart

اگر از گروه مای بی‌بی فارسی راضی هستید، پس لطفا آنرا حمایت کنید: حمایت می‌کنم
پاسخ
(۰۸ تير ۱۳۹۴، ۰۸:۴۸ ب.ظ)websun نوشته:  
(۰۸ تير ۱۳۹۴، ۰۸:۱۳ ب.ظ)mx13 نوشته:  
(۰۸ تير ۱۳۹۴، ۱۲:۳۶ ب.ظ)websun نوشته:  درست شد ممنون
ببخشید در مورد امنیت و اون قسمت اگه میشه ی راهنمایی کنید ممنون میشم
مرسی





 
درود نسبت به امنیت سایتتون کافیه که یک بروت فورس بزنن و خب وارد میشن # اول اینکه چک کردن پسورد خیلی مهم هست و حتما از یک هش باید مثل md5 استفاده بشه البته جدیدا از md5 کم تر استفاده میشه و الگوریتم های مختلف دیگ استفاده میکنن
نکته دیگ باید یک تعداد باری رو ست کنید ک اگر مثلا سه بار اشتباه وارد شد یوزرنیم و پسورد تا یه مدت زمان مثلا پپانزده دقیقه قفل بشه ورود با اون یوزر
امنیت خیلی مفصل هست# ولی مختصر و مهمش اینه




 
خب در بسته شدن حساب کاربری فک کنم کار بهتر و قانونی تر باشه از نظر امنیت اما با کمی ویرایش
به این صورت باشه
الان من دسترسی ها رو در فایل config.php  به این صورت وارد کردم:
کد:
$adminuser="admin"
$adminpass="admin"
و در index.php گفته که این دوتا رو چک کنه حالا بخام این شکل بشه چکار باید بکنم؟
میخام یوزر ها تو دیتابیس ذخیره بشه به این صورت
یک چدول user-admin ساخته باشیه و فیلد هاش این باشه:id که کلید باشه email /username/password و حالا تو index.php بیاد این فیلد ها رو چک کنه که همچین اطلاعاتی وجود داره یانه برای امنیت بیتشر هم ایمیل هم درخواست کنه چطور میشه؟



 
برای اینکار ها اول تیبلشو درست باید کنید مثل این
کد:
CREATE TABLE IF NOT EXISTS `users` (
`user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(30) NOT NULL,
`reg_date` date NOT NULL,
`fname` varchar(20) DEFAULT NULL,
`lname` varchar(20) DEFAULT NULL,
`salt` char(21) NOT NULL,
`password` char(60) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `email` (`email`)
) ;
حالا باید به دیتابیس وصل بشید
کد پی‌اچ‌پی:
$link mysql_connect('localhost''test''test')
or die(
'Not connected : ' mysql_error());
mysql_select_db('test'$link)
or die (
'Not selected : ' mysql_error()); 
بعدش نسبت به لایبری که برای هش  استفاده کردید چک میکنید
پاسخ


پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir