محمدمهدیـ

امن کردن فرم ورود

8 پست در این موضوع قرار دارد

سلام

برای یک فرم بخوام ورودی نام کاربری و پسورد رو امن کنم

چند تا تابع و راهنمایی میخوام که فرم رو ایمن کنه . تابع ها هم ساده میخوام. چند تایی معرفی کنید .

تچکر :wub:

0

به اشتراک گذاری این پست


لینک به پست

سلام

این افزونه رو پیشنهاد میکنم نصب کنید خیلی خوبه

http://www.bad-neighborhood.com/login-lockdown.html

3

به اشتراک گذاری این پست


لینک به پست

داداش برای وردپرس نمیخوام. اسکریپت پی اچ پی هستش.

مثلا" دیدم یوزر و پسورد رو HASH می کنن و SALT میزارن (SH25 بود شاید)

میخوام درمورد اینا بدونم. یکی دو تا تابع میخوام که بتونه احتمال هک رو کمتر کنه

0

به اشتراک گذاری این پست


لینک به پست

من اصلا از سئوالتون سر در نیاوردم یعنی فیلدهای یوزر نیم و رمز رو چجوریش کنیم که امن تر بشه

می تونید افزونه های کد کپچا را نصب کنید

1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

من اصلا از سئوالتون سر در نیاوردم یعنی فیلدهای یوزر نیم و رمز رو چجوریش کنیم که امن تر بشه

می تونید افزونه های کد کپچا را نصب کنید

مثلا" استفاده از تابع های زیر منظور منه

mysql_real_scape_string

htmlenteties

Trim

هش گذاری عبارت وارد شده برای جلوگیری از حملات اس کیو ال اینجکشن

یعنی تمام اینها (رمز گذاری - هش گذاری - غیره) در یک تابع انجام بشه تا از حملات جلوگیری کرده باشیم.

ویرایش شده در توسط مهندس
0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

سلام

میتونید از PDO استفاده کنید که مشکل sql injection هم نداشته باشه.


function login($username , $password) {
$sql = "select count(id) from person where u=:username and p=:password";
$query = connect->prepare($sql);
$query->bindParam(':username' , _hash($username));
$query->bindParam(':password' , _hash($password));
$query->execute();
$num = $query->fetchColumn();
if($num == 1) {
return true;
}
else {
return false;
}
}

برای hash کردن هم میتونید از تابع زیر استفاده کنید :


function _hash($value) {
return sha1(md5(mhash(MHASH_CRC32, $value) , "your SALT"));
}

ویرایش شده در توسط Ghasem Paran
2

به اشتراک گذاری این پست


لینک به پست

خیلی ممنون داداش :wub:

درمورد هش شدن هم توضیح میدی چطوریه؟

یعنی زمان تغییر پسورد چطوری باید دوباره هش شده دخیره کنم؟؟؟ توی Your salt چی بنویسم؟

1

به اشتراک گذاری این پست


لینک به پست

برای جلوگیری از sql injection همون طور که جناب Ghasem Paran گفتن از pdo و متد prepare استفاده کنید

mysql_real_scape_string:کاراکترهای نامعتبر رو از دستورات sql حذف میکنه

htmlenteties:تگهای html رو که باعث XSS میشن رو حذف یا تغییر به کدهای دیگه میکنه

Trim:هر کاراکتری که شما بهش معرفی کنید رو از اول و اخر یک رشته حذف میکنه

هش کردن پسورد ربطی به sql inject نداره فقط باعث میشه که اگه به دلیلی sql inject صورت گرفت رمز شما لو نره

خیلی از سایتها هم هستن که پسوردها رو انلاین کرک میکنن شیوه کرک پسورد خیلی به طول پسورد ربط داره هر چه طول یک پسورد بزرگتر باشه کرکش سخت تر میشه و وقتی از یک تعداد مثلا 8 تا بالاتر بره با سیستمهای معمولی که هر کسی تو خونش داره نا ممکن میشه برای اینکه رمز کاربرای تازه کار به سادگی کرک نشه میان از تکنیکهای کمکی دیگه استفاده میکنن که یکی salt و دیگری peper هست

مثلا salt: شما میاین یک رشته بلند مثلا به طول 30-50 یا ... هر طولی که خواستین میسازین و موقع هش کردن پسورد ابتدا پسورد رو با این رشته جمع میکنین و بعد هش میکنین اینجوری با استفاده از کرکهای انلاین و بروت فورس شانس کرک از بین میره

4

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری