[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 メーリングリストの案内