رفتن به مطلب

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


پست های پیشنهاد شده

سلام

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

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

تچکر :wub:

لینک به ارسال

سلام

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

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

لینک به ارسال

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

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

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

لینک به ارسال

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

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

لینک به ارسال

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

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

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

mysql_real_scape_string

htmlenteties

Trim

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

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

ویرایش شده توسط مهندس
لینک به ارسال

سلام

میتونید از 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
لینک به ارسال

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

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

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

لینک به ارسال

برای جلوگیری از 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 یا ... هر طولی که خواستین میسازین و موقع هش کردن پسورد ابتدا پسورد رو با این رشته جمع میکنین و بعد هش میکنین اینجوری با استفاده از کرکهای انلاین و بروت فورس شانس کرک از بین میره

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...