attach.inc.php プラグインで、ATTACH_PASSWORD_REQUIREを有効にした時に、
添付したファイルが削除できなくなる†
- ページ: BugTrack
- 投稿者: jjyun
- 優先順位: 普通
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2004-08-13 (金) 14:21:00
- バージョン: 1.4.3, 1.4.4rc1
メッセージ†
attach.inc.php プラグインの設定で、
ATTACH_PASSWORD_REQUIRE を有効にしてファイルを添付した場合、
入力したパスワードはそのまま、logファイルに書き出されています。
一方、添付ファイルの削除の際に入力するパスワードは、
md5()を用いてハッシュ値に変換されてから比較されているため、
添付時に入力したパスワードと同じ文字列を入力しても、
「パスワードが違うため削除できない」という状況になってしまいます。
attach_upload() の部分を修正すればよいと思います。
:
$obj->getstatus();
- $obj->status['pass'] = ($pass !== TRUE and $pass !== NULL) ? $pass : '';
+ $obj->status['pass'] = ($pass !== TRUE and $pass !== NULL) ? md5($pass) : '';
$obj->putstatus();
return array('result'=>TRUE,'msg'=>$_attach_messages['msg_uploaded']);
}
- こんにちは。この機能はさっぱり使ったことがないのですが、こういう時はログに書き出すパスワードの方を md5ハッシュにすべきではないでしょうか? :) ログを見ることで、パスワードが漏れちゃいますからね。どう思われますか? -- henoheno
- あ、この差分はまさにそういうものかな(^^; どう直すべきかについて勝手に妄想してしまいました・・・(^^ -- henoheno
- 今回のそれは、まさしくログへの出力内容になる部分だと理解しています。修正よろしくお願いします。 -- jjyun
- ATTACH_PASSWORD_REQUIRE の利用者がどの程度いるのかわからないのですが、あるいは移行用のスクリプトが必要かも -- にぶんのに
- ここで説明されていることが正しいならば、動作確認まできちんとやった利用者は jjyun さんが初めてでしょうね。 -- henoheno
- 確かにご指摘の通りでした。ありがとうございました :) -- henoheno
- 復旧する場合、手作業で対応するならば、ログファイル(attach/*.log)の3行目をそれぞれmd5ハッシュと置き換えると良さそうです。 -- henoheno
- ※例えば3行目に「fsfs」とある場合: echo -n "fsfs" | md5sum の出力結果と入れ替える (-nオプションは必須)