Re: Usersの暗号化方式は?
1. /concrete/models/user.php 行 208-210
public function encryptPassword($uPassword, $salt = PASSWORD_SALT) {
return md5($uPassword . ':' . $salt);
}
PASSWORD_SALTは/config/site.phpの中に保存します
2. /concrete/controllers/install.php 行 315
define('PASSWORD_SALT', $salt);
3. /concrete/controllers/install.php 行 256
$salt = ( defined('MANUAL_PASSWORD_SALT') ) ? MANUAL_PASSWORD_SALT : $vh->getString(64);
4. /concrete/helpers/validation/identifier.php 行 72-73
public function getString($length = 12) {
$str = str_repeat($this->letters, 10);
$hash = substr(str_shuffle($str), 0, $length);
return $hash;
}
4. /concrete/helpers/validation/identifier.php 行 23
private $letters = 'abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
TEST
<?php
echo md5('暗号'.':'.PASSWORD_SALT);
?>
OKです
Re: Re: Re: Usersの暗号化方式は?
少し分からないのですが..............
Re: Re: Re: Re: Usersの暗号化方式は?
実際にやりたいことを言わずに、困って、こんなことはできないかなと思って書き込んだので、分かりにくいですね。
もともとやりたいのは、あるファイルを、登録されたユーザだけダウンロードさせる仕組みを作りたいと思いました。
ファイルを、concrete5tには関係のないフォルダ(/download)をつくって置きます。
認証されたページからのみ、そのURLにリンクすれば事実上OK。
でも、ちょっと知っている人なら、直接URLを指定すればダウンロードできる。
つまり、concrete5で作ったページなら権限設定できるが、普通おいたファイルには権限設定ができない。
ならば、そのフォルダに、BASIC認証をかける。しかも、その認証は登録済みのパスワードを利用して認証できないか。
ということで、書き込んだのです。
いい方法があれば是非、ご教示を。
Re: Re: Re: Re: Re: Usersの暗号化方式は?
確かにmod_auth_mysql md5 SALTをサポートしていないみたいです。
でも、mod_auth_mysql PATCHサイトを一つみつけましたので、これでできるかどうか試してみてください。
http://webcache.googleusercontent.com/search?q=cache:QfktcmYKUJkJ:www.apachelounge.com/viewtopic.php%3Ft%3D3823+mod_auth_mysql+salt+md5&cd=6&hl=ja&ct=clnk&...
私自身は、試したことがないので、もしこれでうまく言ったら教えてください。
*サイトの一番下のものが正解っぽいです。
tomoac
Re: Re: Usersの暗号化方式は?
仕組みは理解できました。
実はわたしがやりたいことというか投稿のきっかけは、独自にBASIC認証が通らないと開けないページを作りたいと思った際に、すでにconcrete5に登録されている方は、登録済みのパスワードで認証させるというのが当然。ということで、htaccessにMySQLの認証設定をしたかったのです。ところが、その認証を司るmod_auth_mysql(だったかな?)が、PASSWORD_SALTをサポートしていない(指定できない)ことがわかりあきらめていました。
このへんをご存知でしたら是非とも。。