ขอถามเกี่ยวกับการเข้ารหัส password ใน .htpasswd ครับ HomeForumขอถามเกี่ยวกับการเข้ารหัส password ใน .htpasswd ครับ kids lower คือว่าต้องการจะเข้าหรัส password ใน .htpasswd เป็บแบบ md5 จะต้องทำอย่างไรครับ ขอตัวอย่างด้วยครับ ขอบคุณมากๆครับ กรกฎ วิริยะ ไม่เข้าใจคำถาม ว่าจะทำที่ำไหน ถ้าหมายถึงทำด้วย PHP ก็ใช้ฟังก์ชั่น md5() ได้ครับ kids lower ผมหมายถึงการควบคุมการเข้าถึงไฟล์ ของ Apache ครับ ใน .htaccess AuthType Basic AuthName "Admin" AuthUserFile /home/public_html/admin/.htpasswd Require valid-user ใน .htpasswd admin:cGhg/8u3.w9r2 คือมันเข้ารหัส password แบบไหนไม่รู้(น่าจะเป็น DES ครับ ไม่แน่ใจ) แล้วเราต้องการเข้ารหัสแบบ md5 อ่ะครับ ถ้าเอา password ของ md5 มาใส่เลยจะได้รึเปล่า หรือต้องกำหนดตรงไหนเพิ่มเติมเพิ่อให้ใช้แบบ md5 ได้ หรือมีวิธีไหนที่ใช้แทนกันได้ครับ กรกฎ วิริยะ ถ้าต้องการสร้างรหัสผ่าน สำหรับป้องกันไดเร็คทอรี่ ปกติแล้ว เราจะเรียกใช้โปรแกรมภายนอกครับ ซึ่งอาจเรียกใช้โดย PHP ได้ครับ เช่น ไฟล์ htpasswd.exe ซึ่งต้องหาดูที่ server ละครับ ว่าไฟล์นี้อยู่ที่ใด ผมยกตัวอย่างฟังก์ชั่นการสร้างรหัสผ่านของ XAMPP นะครับ function htaccess($xauser, $xapasswd) { global $xamppdirconfig; global $xapasswdtxtdir; global $htpasswddir; global $htpasswddirectory; global $htxampp; global $xapfile; list($partwampp, $directorwampp) = preg_split('|\\\security\\\htdocs|', dirname(__FILE__)); $htaccess = ".htaccess"; $xapasswdtxt = "xamppdirpasswd.txt"; $htpasswd = "xampp.users"; $xapasswdtxtdir = $partwampp."\security\\".$xapasswdtxt; $curspcript = $_SERVER["SCRIPT_FILENAME"]; $htxampp = $partwampp."\htdocs\\xampp\\".$htaccess; $htpasswdexe = $partwampp."\apache\\bin\\htpasswd.exe"; if (file_exists($htpasswdexe)) { $htpasswddir = "\"".$partwampp."\security\\".$htpasswd."\""; $htpasswddirectory = $partwampp."\security\\".$htpasswd; $dir = $partwampp."\security\\"; if (!file_exists($dir)) { mkdir($dir); } $datei = fopen($htxampp, 'w+'); $insert = "AuthName \"xampp user\"\r\nAuthType Basic\r\nAuthUserFile $htpasswddir\r\nrequire valid-user"; fputs($datei,$insert); fclose($datei); $curdir=getcwd(); chdir($partwampp."\security"); // Fix by Wiedmann $htpassrealm = "start /b \"\" \"$htpasswdexe\" -c -m -b .\\xampp.users $xauser $xapasswd"; $handle = popen($htpassrealm, 'w'); pclose($handle); chdir($curdir); if ($xapfile=="yes") { $datei = fopen($xapasswdtxtdir, 'w+'); $put = "XAMPP user = $xauser\r\nXAMPP password = $xapasswd"; fputs($datei, $put); fclose($datei); } $hdir = $dir.'htdocs\\'; copy($htxampp, $dir.'htdocs\\.htaccess'); $xamppdirconfig = "ok"; } else { $xamppdirconfig = "notok"; } } ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
ใน .htaccess
AuthName "Admin"
AuthUserFile /home/public_html/admin/.htpasswd
Require valid-user
ใน .htpasswd
คือมันเข้ารหัส password แบบไหนไม่รู้(น่าจะเป็น DES ครับ ไม่แน่ใจ) แล้วเราต้องการเข้ารหัสแบบ md5 อ่ะครับ
ถ้าเอา password ของ md5 มาใส่เลยจะได้รึเปล่า หรือต้องกำหนดตรงไหนเพิ่มเติมเพิ่อให้ใช้แบบ md5 ได้
หรือมีวิธีไหนที่ใช้แทนกันได้ครับ
ผมยกตัวอย่างฟังก์ชั่นการสร้างรหัสผ่านของ XAMPP นะครับ
global $xamppdirconfig;
global $xapasswdtxtdir;
global $htpasswddir;
global $htpasswddirectory;
global $htxampp;
global $xapfile;
list($partwampp, $directorwampp) = preg_split('|\\\security\\\htdocs|', dirname(__FILE__));
$htaccess = ".htaccess";
$xapasswdtxt = "xamppdirpasswd.txt";
$htpasswd = "xampp.users";
$xapasswdtxtdir = $partwampp."\security\\".$xapasswdtxt;
$curspcript = $_SERVER["SCRIPT_FILENAME"];
$htxampp = $partwampp."\htdocs\\xampp\\".$htaccess;
$htpasswdexe = $partwampp."\apache\\bin\\htpasswd.exe";
if (file_exists($htpasswdexe)) {
$htpasswddir = "\"".$partwampp."\security\\".$htpasswd."\"";
$htpasswddirectory = $partwampp."\security\\".$htpasswd;
$dir = $partwampp."\security\\";
if (!file_exists($dir)) {
mkdir($dir);
}
$datei = fopen($htxampp, 'w+');
$insert = "AuthName \"xampp user\"\r\nAuthType Basic\r\nAuthUserFile $htpasswddir\r\nrequire valid-user";
fputs($datei,$insert);
fclose($datei);
$curdir=getcwd();
chdir($partwampp."\security"); // Fix by Wiedmann
$htpassrealm = "start /b \"\" \"$htpasswdexe\" -c -m -b .\\xampp.users $xauser $xapasswd";
$handle = popen($htpassrealm, 'w');
pclose($handle);
chdir($curdir);
if ($xapfile=="yes") {
$datei = fopen($xapasswdtxtdir, 'w+');
$put = "XAMPP user = $xauser\r\nXAMPP password = $xapasswd";
fputs($datei, $put);
fclose($datei);
}
$hdir = $dir.'htdocs\\';
copy($htxampp, $dir.'htdocs\\.htaccess');
$xamppdirconfig = "ok";
} else {
$xamppdirconfig = "notok";
}
}