PDA

View Full Version : امن ترین و بهترین روش دسترسی به فایل ها (مانند htaccess و htpasswd)



sara66
پنج شنبه 06 بهمن 1390, 09:01 صبح
سلام
من برای دسترسی به پوشه های بر روی سرور ، از htaccess و htpasswd استفاده می کنم ، در حال حاضر تعداد کاربر ها زیاد شدن و مشکلاتی بوجود آمده چون هر کاربر یک نام کاربری و رمز عبور دارد .
نرم افزاری که نوشتم فقط به همین شکل می تواند فایل های روی سرور را دانلود کند یعنی با باز شدن پنجره درخواست یوزر نیم و پسورد ، کاری که htaccess و htpasswd انجام میده ...

اگر تعداد یوزر نیم ها توی فایل htaccess زیاد بشه مشکل بوجود میاد ؟ نمیشه یوزر و پسورد ها داخل دیتابیس ذخیره بشه ؟ میشه فهمید هر کاربری که با یوزر نیم و پسورد خودش وارد شده ، چه آیپی داشته و چه زمانی لاگین کرده و ...

مرسی

mbf5923
پنج شنبه 06 بهمن 1390, 09:38 صبح
سلام
یعنی چی داخل htaccess ؟ یوزر و پسورد رو که داخل دیتابیس ذخیره میکنن نه توی فایل
بعد هم برای اینکه بفهمن یه ماربر ثبت نام کرده یا نه اصلاعاتش رو(یوزر و پسورد) با اطلاعات داخل بانک اطلاعاتی چک میکنن اگه موجود بود بهش مجوز دسترسی میدن

sara66
پنج شنبه 06 بهمن 1390, 09:48 صبح
سلام مرسی
میدونم
اما مجبورم با htpasswd این کار را انجام بدم ، درواقع فقط میخوام وقتی کاربر وارد اون پوشه میشه (مثلا http://test.com/DL) پنجره ای باز بشه و یوزر و پس را ازش بگیره ...
میدونم که نباید با htpasswd این کار را انجام بدم اما مجبورم (نوع Authentication باید Basic Authentication باشه)

mbf5923
پنج شنبه 06 بهمن 1390, 11:28 صبح
باز هم مجبور نیستین از این روش استفاده کنید!
شما کافیه یک ایندکس در پوشتون قرار بدین و یوزر و پس رو توسط اون از کاربر تقاضا کنید و اون هم از دیتابیس یوزر و پسورد وارد شده رو چک کنه و در صورت صحیح بودن کاربر قادر به دانلود یا هرچیز دیگه باشه
از روشی که شما استفاده کردین در مواقعی که تعداد کمی قراره به یه پوشه دسترسی پیدا کنن استفاده میشه نه تعداد زیاد

sara66
پنج شنبه 06 بهمن 1390, 11:32 صبح
متشکر ، فایل ایندکس ؟ چجور فایلی ؟
با این روش باز هم از همان متد Basic Authentication استفاده میشه ؟

mbf5923
پنج شنبه 06 بهمن 1390, 12:07 عصر
اگه منظورتون اینه که چه اطلاعاتی درون ایندکس بذارین:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#apDiv1 {
position:absolute;
width:214px;
height:81px;
z-index:1;
left: 393px;
top: 100px;
}
-->
</style>
</head>

<body>
<div dir="rtl" id="apDiv1">
<form id="form1" name="form1" method="post" action="sign.php">
<label>نام کاربری
<input type="text" name="UserName" id="UserName" />
</label>
<br />
<label>شناسه ورود
<input type="password" name="Pass" id="Pass" />
</label>
<input name="Submit" type="submit" value="تایید" />
</form>
</div>
</body>
</html>
اطلاعات بالا رو توی index.php ذخیره کنید و داخل پوشه موردنظر قرار بدید
البته باید یک فیال به نام sign.php هم درست کنید که اطلاعاتی که کاربر وارد کرده رو با اطلاعات موجود در دیتابیس چک کنه ببینه صحت داره یا نه و اگه داشت....

sara66
پنج شنبه 06 بهمن 1390, 12:17 عصر
مرسی اما متوجه منظور من نشدید
من فقط و فقط باید از متد Basic Authentication استفاده کنم

mbf5923
پنج شنبه 06 بهمن 1390, 12:30 عصر
نخیر
روش Basic Authentication که میفرمایید در مواقعی استفاده میشه که تعداد کاربران کم باشه(تا اونجا که من میدونم) مثلا فقط یک یوزر و پسورد وجود داشته یاشه و بخوایم به یک کاربر Token بدیم
مثلا Cpanel با این روش کار میکنه
اما قسمت های پربازدید رو نمیشه و نباید با این روش مدیریت کرد
حالا چرا باید از این روش استفاده کنید؟

sara66
پنج شنبه 06 بهمن 1390, 21:04 عصر
مشکل تا حدی حل شد ، اشتباه از من بود
تاپیک را اینجا ادامه میدم (http://barnamenevis.org/showthread.php?325061-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D8%B5%D9%81%D8%AD%D9%87-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7)