PHPについて新たにわかったことがあります。
・・・とその前に、数日前こんな動画を発見しました。
http://www.nicovideo.jp/watch/sm14307390
内容は、名鉄ではマナカしか使えないよ。というものです。うん。これを知っていたらHALから帰ってくるときにあんなに困らなかったんじゃないかなって思うわけですよ。関ヶ原駅からなら確実にICOCAが使えたはずですが、たしかあの時はためさなかったと思います。どうしてかというと、ICOCAは使えないという先入観があったからです。最初に名古屋駅から出ようとしたとき使えなかったし、寮から帰る際に名鉄に乗ろうとした時も使えなかったし、乗り換えたあとにも使えなかったし。何より駅員さんにどこからなら使えるのか聞いたときに「米原からだ」と言われたことが一番の原因でしょう。その瞬間に、私の脳みそはICOCAを交通手段から除外したのです。うん。くやしい。
そんなわけで、PHPのお話です。
右クリックメニューから「ページのソースを表示」を選択した際に表示されるソースコードには、PHPの記述は表示されないということに最近気づきました。そしてその瞬間、私は全てを悟りました。
①URL”~.php”にアクセスすると、サーバー側はそのファイルのPHP記述部分を実行する
②結果の文章(PHP記述部分でない部分も含めた文章)をブラウザ側がうけとる
③ブラウザ側がそれを元にページを表示
④ゆえに、javascript内でPHPを記述しても無駄
謎は・・・全て解けた・・・!(←w
ということは。
PHPファイルの「PHPソース実行前」の文章を外部から読めないようにすれば、PHPソース内に記述した秘密は守られますよね。つまり、サーバーにUPしてファイルの属性をいじれば情報を守れますよね。
しかし、属性は、どのように設定すればよいのでしょうか?
readとexecuteはどうちがうのでしょうか?
ユーザーは、owner,group,everyoneの3つがありますが、これらはそれぞれ何を表しているのでしょうか?
PHPについて新たに分かったこと
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: PHPについて新たに分かったこと
まぁ、属性(パーミッション)はLinux//unixの文化なので、そこを調べると良いと思いますよ。
read:読み込む権限。execute:実行する権限。
とサーバーのPHPの動作形式にあわせて決める必要があります。
で、こっちは
owner:ROOT権限のあるアカウントのみの権限。
group:同一グループのアカウント内の権限。
everyone:誰でもの権限。
PHPが介入している分には素のまま表示されないので、変な値にしなければ気にしなくて良いです。
604,644,704,744 ←あたりで、できるだけきついガードをしましょう。
read:読み込む権限。execute:実行する権限。
とサーバーのPHPの動作形式にあわせて決める必要があります。
で、こっちは
owner:ROOT権限のあるアカウントのみの権限。
group:同一グループのアカウント内の権限。
everyone:誰でもの権限。
PHPが介入している分には素のまま表示されないので、変な値にしなければ気にしなくて良いです。
604,644,704,744 ←あたりで、できるだけきついガードをしましょう。
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 14年前
- 住所: 東京
Re: PHPについて新たに分かったこと
>>ソフト屋さん
ありがとうございます。PHPファイルの内容がそのまま流れることはないということですね?安心しました。
サーバーにUPされているPHPファイルの属性を確認してきたのですが、rwxr--r--となっていました。
フォルダの属性はrwxr-xr-xでした。
ということは、実行というのはフォルダに関する権限でしょうか。
おそらくフォルダの下にアクセスする権限なのでしょう。
ありがとうございます。PHPファイルの内容がそのまま流れることはないということですね?安心しました。
サーバーにUPされているPHPファイルの属性を確認してきたのですが、rwxr--r--となっていました。
フォルダの属性はrwxr-xr-xでした。
ということは、実行というのはフォルダに関する権限でしょうか。
おそらくフォルダの下にアクセスする権限なのでしょう。
Re: PHPについて新たに分かったこと
Webサーバーのphp拡張子の関連付けを削除してしまったりすればphpファイルの中身がテキストファイルとして表示されることあるんじゃないでしょうか。
phpファイルが直接実行されるわけではないので実行属性は関係ないです。
ディレクトリのパーミッションは、
r:そのディレクトリ下のファイル名一覧を取得できる
w:そのディレクトリ下にファイルを作成したり削除したりできる
x:そのディレクトリ下のファイル情報にアクセスできる
という意味になります。
(追記)
phpがcgiで実行されるようになっている場合は、実行属性を付ける必要があるとのことでした。
phpファイルが直接実行されるわけではないので実行属性は関係ないです。
ディレクトリのパーミッションは、
r:そのディレクトリ下のファイル名一覧を取得できる
w:そのディレクトリ下にファイルを作成したり削除したりできる
x:そのディレクトリ下のファイル情報にアクセスできる
という意味になります。
(追記)
phpがcgiで実行されるようになっている場合は、実行属性を付ける必要があるとのことでした。
最後に編集したユーザー ISLe on 2011年10月07日(金) 23:27 [ 編集 1 回目 ]
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 14年前
- 住所: 東京
Re: PHPについて新たに分かったこと
とりあえずサーバー側で特殊な処理を行わない限りPHPのソースコードを外部から見ることはできないということですよね?
Re: PHPについて新たに分かったこと
PHPに対応しているサーバーであればそうですね。MoNoQLoREATOR さんが書きました:とりあえずサーバー側で特殊な処理を行わない限りPHPのソースコードを外部から見ることはできないということですよね?