05-03-2017، 20:25
با سلام و درود خدمت تمامی اعضا و دوستان سایت.امروز میخوام یک مقاله ای که براتون ترجمه کردم و با تجربیاتی که دارم,اضافه تر کردمش,و خیلی هم مفید هستش برای کسانی که هاستینگ دارند,اینجا قرار بدم.این آوزش اولین بار در سایت دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
http://iedb.ir/acc قرار میگیره.
ساختن htpasswd به صورت دستی برای یک یوزر و پسوورد در php
همه میدونیم که htpasswd برای پسوورد گذاشتن در یک فولدر خاصی هستش و با استفاده از htaccess فراخوانی میشه و یوزر و پسوورد دانل این اچ تی پسوورد ذخیره میشه
حالا من میخوام دوتا متد واستون بگم که بتونید با این دو متد,فایل htpasswd برای یک یوزر و پسوورد درست کنید و فایل htpasswd رو داخل پوشه ورد نظر بریزید و دستور رمز گذاری htaccess رو هم دالخش بذارید و امنیت اون پوشه با رز گذاری بیشتر میشه
بریم سر آموززش :
1 - متد اول به وسیله فانکشن crypt() می باشد.
ما با استفاده از فانکشن crypt() به صورت base64 میتونید این کارو انجام بدیم و برای یوزری که معرفی میکنیم,پسوورد رو کد شده بهتون بده تا داخل htpasswd استفاده کنید :
با این کار یه یوزر داخل htpasswd میسازید
بعد این فایل رو داخل پوشه مورد نظر قرار میدهیم.
بعد برای ساختن و دیدن یوزر و پسوورد و کد اون,از این فایل php استفاده میکنیم :
جای user و password یوزر و پسووورد خودتونو بذارید.
نمونه متنی که نشون میده اینطوریه :
iedbteam:MzKSsddfdddfd62M/K9HSs54asdsd65544
بعد این رو داخل پوشه ای که میخوایم پسوورد بذاریم فایل htpasswd میسازیم و این نوشته رو قرار میدیم و کد اجرای پسوورد که اینطوریه رو هم به htaccess اضافه یکنیم:
این روش اول برای ساخت htpasswd
روش دوم :
با استفاده از الگوریتم APR1-MD5
اول این فرمان رو میزنید :
به جای iedbteam یوزر رو که میخوان میذارید.
با این کار یه یوزر داخل htpasswd میسازید
بعد این فایل رو داخل پوشه مورد نظر قرار میدهیم.
.سپس با استفاده از این کد php,میتونید یوزر و پسوورد مورد نظر رو بسازید و داخل فایل htpasswd و داخل فولدر مربوطه قرار بدین :
نمونه اطلاعاتی که نشون میده و شما باید کپی کنید این است :
همنطور که میبینید روش دوم خیلی امنیتش بیشتره و خیلی کد شده خوبی هست.پس از روش دوم هم میتونید استفاده کنید که خیلی بهتر است و کرک کردن اون سخته
حالا واسه اینکه چنتا یوزر معرفی کنید از این کد php استفاده کنید :
خوب خیلی صحبت کردم و خیلی کارام سنگینه.اگه جایی مشکل داشت یا اینکه متوجه نشدین,بگین تا توضیح بدم.
چون با گوشی ستم یکم شاید آوزش سنگینی باشه
اما خیلی آموزش خوبی هستش و اولین تیمی هستیم که این آموزش رو گذاشتیم.
منبع : دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
تیم امنیتی IeDb.ir
موفق باشید.
http://iedb.ir/acc قرار میگیره.
ساختن htpasswd به صورت دستی برای یک یوزر و پسوورد در php
همه میدونیم که htpasswd برای پسوورد گذاشتن در یک فولدر خاصی هستش و با استفاده از htaccess فراخوانی میشه و یوزر و پسوورد دانل این اچ تی پسوورد ذخیره میشه
حالا من میخوام دوتا متد واستون بگم که بتونید با این دو متد,فایل htpasswd برای یک یوزر و پسوورد درست کنید و فایل htpasswd رو داخل پوشه ورد نظر بریزید و دستور رمز گذاری htaccess رو هم دالخش بذارید و امنیت اون پوشه با رز گذاری بیشتر میشه
بریم سر آموززش :
1 - متد اول به وسیله فانکشن crypt() می باشد.
ما با استفاده از فانکشن crypt() به صورت base64 میتونید این کارو انجام بدیم و برای یوزری که معرفی میکنیم,پسوورد رو کد شده بهتون بده تا داخل htpasswd استفاده کنید :
کد:
به جای iedbteam یوزر رو که میخوان میذارید.کد:
htpasswd -d /home/.htpasswd iedbteam
با این کار یه یوزر داخل htpasswd میسازید
بعد این فایل رو داخل پوشه مورد نظر قرار میدهیم.
بعد برای ساختن و دیدن یوزر و پسوورد و کد اون,از این فایل php استفاده میکنیم :
کد:
کد:
<?php
// Password to be used for the user
$username = 'iedbteam';
$password = 'password1';
// Encrypt password
$encrypted_password = crypt($password, base64_encode($password));
// Print line to be added to .htpasswd file
echo $user . ':' . $encrypted_password;
جای user و password یوزر و پسووورد خودتونو بذارید.
نمونه متنی که نشون میده اینطوریه :
iedbteam:MzKSsddfdddfd62M/K9HSs54asdsd65544
بعد این رو داخل پوشه ای که میخوایم پسوورد بذاریم فایل htpasswd میسازیم و این نوشته رو قرار میدیم و کد اجرای پسوورد که اینطوریه رو هم به htaccess اضافه یکنیم:
کد:
کد:
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /home/iedbteamsec/public_html/admin/oSDewEWN-T-A-AAA-R/.htpasswd
AuthName "IeDb Team"
require valid-user
این روش اول برای ساخت htpasswd
روش دوم :
با استفاده از الگوریتم APR1-MD5
اول این فرمان رو میزنید :
کد:
کد:
htpasswd -m /home/.htpasswd iedbteam
به جای iedbteam یوزر رو که میخوان میذارید.
با این کار یه یوزر داخل htpasswd میسازید
بعد این فایل رو داخل پوشه مورد نظر قرار میدهیم.
.سپس با استفاده از این کد php,میتونید یوزر و پسوورد مورد نظر رو بسازید و داخل فایل htpasswd و داخل فولدر مربوطه قرار بدین :
کد:
کد:
<?php
// APR1-MD5 encryption method (windows compatible)
function crypt_apr1_md5($plainpasswd)
{
$salt = substr(str_shuffle("abcdefghijklmnopqrstuvwxyz0123456789"), 0, 8);
$len = strlen($plainpasswd);
$text = $plainpasswd.'$apr1$'.$salt;
$bin = pack("H32", md5($plainpasswd.$salt.$plainpasswd));
for($i = $len; $i > 0; $i -= 16) { $text .= substr($bin, 0, min(16, $i)); }
for($i = $len; $i > 0; $i >>= 1) { $text .= ($i & 1) ? chr(0) : $plainpasswd{0}; }
$bin = pack("H32", md5($text));
for($i = 0; $i < 1000; $i++)
{
$new = ($i & 1) ? $plainpasswd : $bin;
if ($i % 3) $new .= $salt;
if ($i % 7) $new .= $plainpasswd;
$new .= ($i & 1) ? $bin : $plainpasswd;
$bin = pack("H32", md5($new));
}
for ($i = 0; $i < 5; $i++)
{
$k = $i + 6;
$j = $i + 12;
if ($j == 16) $j = 5;
$tmp = $bin[$i].$bin[$k].$bin[$j].$tmp;
}
$tmp = chr(0).chr(0).$bin[11].$tmp;
$tmp = strtr(strrev(substr(base64_encode($tmp), 2)),
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
return "$"."apr1"."$".$salt."$".$tmp;
}
// Password to be used for the user
$username = 'user1';
$password = 'password1';
// Encrypt password
$encrypted_password = crypt_apr1_md5($password);
// Print line to be added to .htpasswd file
echo $user . ':' . $encrypted_password;
نمونه اطلاعاتی که نشون میده و شما باید کپی کنید این است :
کد:
کد:
iedbsecurityteam:$apr1$e5cytbnu$ps.bh8zF0tkJpEgkGtYcf0
همنطور که میبینید روش دوم خیلی امنیتش بیشتره و خیلی کد شده خوبی هست.پس از روش دوم هم میتونید استفاده کنید که خیلی بهتر است و کرک کردن اون سخته
حالا واسه اینکه چنتا یوزر معرفی کنید از این کد php استفاده کنید :
کد:
کد:
// Array for usernames and password.
$users = array();
// User 1
$users[0]['username'] = 'user1';
$users[0]['password'] = 'password1';
// User 2
$users[1]['username'] = 'user2';
$users[1]['password'] = 'password2';
// User 3
$users[2]['username'] = 'user3';
$users[2]['password'] = 'password3';
foreach($users as $user => $data)
{
$username = $data['username'];
$password = $data['password'];
// Encrypt password
$encryptedpwd = crypt_apr1_md5($password);
// Print line to be added to .htpasswd file
$content = $username . ':' . $encryptedpwd;
echo $content . '<br />';
}
خوب خیلی صحبت کردم و خیلی کارام سنگینه.اگه جایی مشکل داشت یا اینکه متوجه نشدین,بگین تا توضیح بدم.
چون با گوشی ستم یکم شاید آوزش سنگینی باشه
اما خیلی آموزش خوبی هستش و اولین تیمی هستیم که این آموزش رو گذاشتیم.
منبع : دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
تیم امنیتی IeDb.ir
موفق باشید.