サーバーにHPをアップロードしてブラウザからのファイル読み込みを制限したいと考えています。
とりあえず、「deny from all」と書いた.htaccessを片っ端からデイレクトリに入れてみて挙動を見たのですが、phpはブラウザアクセスできなくて成功。しかしながらcssとjsはブラウザアクセスできないのは良いとして、全く機能しなくなってしまいました。ここはブラウザ拒否にすべきではないものなのでしょうか?
回答2件
あなたの回答
tips
プレビュー
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
0グッド
1クリップ
投稿2019/06/12 13:55
サーバーにHPをアップロードしてブラウザからのファイル読み込みを制限したいと考えています。
とりあえず、「deny from all」と書いた.htaccessを片っ端からデイレクトリに入れてみて挙動を見たのですが、phpはブラウザアクセスできなくて成功。しかしながらcssとjsはブラウザアクセスできないのは良いとして、全く機能しなくなってしまいました。ここはブラウザ拒否にすべきではないものなのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/06/12 13:58
2019/06/12 14:02 編集
2019/06/12 14:06
2019/06/12 14:08
2019/06/12 14:08
2019/06/12 14:09
2019/06/12 14:16
退会済みユーザー
2019/06/12 21:48
回答2件
0
ベストアンサー
目的や前提がわかりませんが、ブラウザからアクセスできたとしてPHPは出力処理があればその出力処理部分しかブラウザからは見れません。
当然PHPのコードを見るのは不可能です。
ただフレームワークなどは「直接実行されないファイル」をブラウザからアクセスできないディレクトリに置くようになっており、ドキュメントルート配下のPHPはindex.phpだけというのもよくあります。
teratailもPHPフレームワークで作られているようなので、作りはおおよそ同じようなものと思われますが、これは.htaccessによって「すべてのアクセスをindex.phpに集める」という指定がされているためです。
で、取得したURIを解析して振り分けています。
ただ、CSS、JavaScript、画像などはPHPプログラムから直接参照するわけではなく、PHPが出力したHTMLコードから呼び出すように記述されていて、ブラウザ側がそれを解釈するようになっているため、ブラウザからアクセスできるようになっています。(あくまでフロントサイドなので)
そのため、.htaccessにて、アクセスはindex.phpに集める、ただしcss/* ,js/* ,images/* は除く
といった指定が書かれることがあります。
どのような理由や背景、前提で今回の対応をしようと思い立ったのかはわかりませんが、参考まで。
投稿2019/06/12 14:18
総合スコア80850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/12 14:24
2019/06/12 14:29
2019/06/12 14:43
2019/06/12 14:55
2019/06/12 21:31
2019/06/13 00:14
2019/06/13 00:22
2019/06/13 01:03
2019/06/13 01:08
2019/06/13 01:17
0
Deny from all
は すべてのアクセス拒否 を意味します。
つまり、そういうことです。
投稿2019/06/12 14:04
総合スコア2937
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/12 14:06
2019/06/12 14:10
2019/06/12 14:16
2019/06/12 14:24
2019/06/12 14:27 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。