[PHP-users 19315]mhash関数について
Tetsuya Saito
tetuya @ ophiuchus.info
2003年 12月 11日 (木) 18:00:33 JST
皆さん
こんばんわ
斉藤@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 メーリングリストの案内