A-AA+then

ขอถามเกี่ยวกับการเข้ารหัส password ใน .htpasswd ครับ

1,598
คือว่าต้องการจะเข้าหรัส password ใน .htpasswd เป็บแบบ md5 จะต้องทำอย่างไรครับ ขอตัวอย่างด้วยครับ

ขอบคุณมากๆครับ

3 ความคิดเห็น

ไม่เข้าใจคำถาม ว่าจะทำที่ำไหน ถ้าหมายถึงทำด้วย PHP ก็ใช้ฟังก์ชั่น md5() ได้ครับ
1

ผมหมายถึงการควบคุมการเข้าถึงไฟล์ ของ 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 ได้
หรือมีวิธีไหนที่ใช้แทนกันได้ครับ
2

ถ้าต้องการสร้างรหัสผ่าน สำหรับป้องกันไดเร็คทอรี่ ปกติแล้ว เราจะเรียกใช้โปรแกรมภายนอกครับ ซึ่งอาจเรียกใช้โดย 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";
            }
        }
3
^