[PHP-users 19321]Re: mhash関数について

らい mr2gts_zero @ hotmail.com
2003年 12月 11日 (木) 18:45:03 JST


はじめまして
 石田@へぼへぼ
です。

斉藤様
見たところ、以下の行に ”;” が抜けております。。。

21行目 > $salt=mhash_keygen_s2k(MHASH_SHA1, $_POST["userpassword"],
substr(pack("h*", md5(mt_rand())), 0, 8), 4)
32行目 > $newinfo["objectclass"][1] = "mailaccount"
33行目 > $newinfo["objectclass"][2] = "inetorgperson"

他にも原因はありそうですが、とりあえず、ソースをよく見ましょう。


----- Original Message ----- 
From: "Tetsuya Saito" <tetuya @ ophiuchus.info>
To: "PHP-users ML" <php-users @ php.gr.jp>
Sent: Thursday, December 11, 2003 6:00 PM
Subject: [PHP-users 19315] mhash関数について


> 皆さん
> こんばんわ
>
> 斉藤@ophiuchusと申します。
> 先ほどは、単純なtypoでMLを汚してしまい申し訳ありませんでした。
>
> さて、今回識者の皆様にお伺いした意味とは、phpを使用したmhash関数について
> です。
> 当然、php-4.3.4をビルドするときには下記のように
> ./configure --with-apxs2=/usr/local/apapche2/apxs \
> --enable-mbstring
> --enable-mbregex
> --with-ldap=/usr/local
> --with-mhash=/usr/local
>
> と言う形でビルドしインストールしました。
> また、mhash関数自体はmhash-0.8.18をinstallしておりますので、問題なく使え
> る物と思います。
>
> しかしながら、長文になってしまいますが、下記phpソースコードのmhash関数の
> 部分でエラーになってしまいます。
> これは、私のtypo、もしくはmhash関数のバージョン等において何らかの問題が
> あるのでしょうか。
>
> 識者の皆様、ご指導の程、よろしくお願いします。
>
> [ソースコード]
> <?php
> require_once "auth.inc";
> if ($info[0]["mailgroup"][0] !== "admin") {
> //admin以外のログインは許可しない
> exit;
> }
> ?>
> <html>
> <body>
> <?php
>
> //テキストフォームから追加するユーザーのDNを作成
> $dn = "cn={$_POST["cn"]},{$_SESSION["d_dn"]}";
>
> /*SSHAパスワードの作成準備
>  *CRYPT形式の場合は
>  *$newinfo["userpassword"] = "{CRYPT}" . crypt($_POST["userpassword"]);
>  *MD5形式の場合は
>  *$newinfo["userpassword"] = "{MD5}" . base64_encode(mhash(MHASH_MD5,
$_POST["userpassword"]));
>  */
> mt_srand((double) microtime()*1000000);
> $salt=mhash_keygen_s2k(MHASH_SHA1, $_POST["userpassword"],
substr(pack("h*", md5(mt_rand())), 0, 8), 4)
>
> //以下LDAPエントリーとなる連想配列を作成
> $newinfo["userpassword"] = "{SSHA}" . base64_encode(mhash(MHASH_SHA1,
$_POST["userpassword"] . $salt) . $salt);
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 波線の部分が25行目に相当します
> $newinfo["cn"] = $_POST["cn"];
> $newinfo["sn"] = $_POST["sn"];
> $newinfo["givenname"] = $_POST["givenname"];
> $newinfo["objectclass"][0] = "top";
> $newinfo["objectclass"][1] = "mailaccount"
> $newinfo["objectclass"][2] = "inetorgperson"
> $newinfo["homedirectory"] =
"/home/mailuser/{$_SESSION["domainname"]}/{newinfo["cn"]}";
> $newinfo["mail"] = "{newinfo["cn"]@{$_SESSION["domainname"]}";
> $newinfo["maildir"] = $newinfo["homedirectory"} . "/Maildir/";
> $newinfo["mailactive"] = "TRUE";
> $newinfo["domainname"] = $_SESSION["domainname"};
> $newinfo["mailgroup"] = "user";
>
> //エントリーの追加
> $c->add($dn, $newinfo"\);
>
> //以下結果の表示
> ?>
> 新しいユーザーが追加されました。
> <hr>
> <a href="index.php>トップページ</a><br>
> <a href="logout.php>ログアウト</a>
> </body>
> </html>
>
> [上記ソースコードを実行したときに出るエラー]
> Parse error: parse error in /usr/local/apache2/htdocs/imap/add.php on line
25
>
> -- 
> Tetsuya Saito <tetuya @ ophiuchus.info>
>
>
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>


石田健二 mr2gts_zero @ hotmail.com


PHP-users メーリングリストの案内