[PHP-users 23096]Re: safe_modeonの状態でtouchできない。

yoshiki yoshiki @ ann.to
2004年 8月 26日 (木) 01:01:42 JST


こんばんわ yoshikiです。

safe_mode ONの状態では無理だとあきらめます。
有難うございました。

事情は
認証サイトのパスワードを保存するクラスを作っていまして、
メルアド、パスワード発行後DBへMD5で暗号化して登録しています。
素のパスワード情報をサーバー上に残しておきたくて、apacheの
公開ディレクトリ外に作ろうと思い結局ダメだったわけです。


>
>On Sun, 22 Aug 2004 13:54:36 +0900
>yoshiki <yoshiki @ ann.to> wrote:
>
>冨田と申します。
>
>> 公開ディレクトリ外でtouchを使用しファイルを作成したいのですが
>> どうやらsafe_mode ONの状態ではできないようです。
>> 
>> safe_mode ONの状態でtouchを有効にする方法はあるのでしょうか?
>> 
>> PHPはVersion 4.3.3です。
>> LINUXでtouch対象のフォルダパーミッションは777です。
>> 
>> よろしくお願いします。
>
>safe_modeをあまり使った事がないので、本当の所ちゃんとうごくか微妙ですが、
>こんな方法はどうでしょうか。
>
>1.php.iniを修正する事ができる場合、safe_mode_gidをtrueにする。
>  スクリプトのGIDと対象ディレクトリのGIDが一致していればtouchできるとの
>  ことなので、touch対象ディレクトリのgidをスクリプトのgid(例:nogroup)に
>  chgrpし、パーミッションを775にする。
>
>2.php.iniを修正する事ができる場合、safe_mode_exec_dirに、別途どこか
>  のディレクトリを指定し、touchのみを行うプログラム(シェルスクリプト等)
>  をそのディレクトリに設置する。
>  で、php側からsystem関数を使ってtouchを行うプログラムを呼び出す。
>
>3.php以外の言語のプログラムをcgiとして(例えばperlのcgiとか)設置可能であ
>  れば、touchだけを行うcgiを作成する。で、phpからhttpリクエストを送って
>  touchだけを行うcgiを呼び出す。
>  
>  例:
>  fopen("http://localhost/cgi-bin/touch_only.cgi","w");
>
>
>
>#どうしても必要な場合を除いて、軽々にパーミッションを777にするのは避け
>#たほうがよいですヨ
>
>………………………………………………………………………………………………
>		冨田 修平(Shuhei Tomita) tomita @ zingy.or.jp
>………………………………………………………………………………………………
>
>_______________________________________________
>PHP-users mailing list  PHP-users @ php.gr.jp
>http://ns1.php.gr.jp/mailman/listinfo/php-users
>PHP初心者のためのページ - 質問する前にはこちらをお読みください
>http://www.php.gr.jp/php/novice.php3



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