http経由のファイルへの直接アクセスはブロックし、phpスクリプトのアクセスは許可する。
2023-10-24 16:41:02
質問
ファイル (pdf、doc、flv など) をバッファにロードし、スクリプトでユーザーに提供しています。 スクリプトでファイルにアクセスできるようにする必要がありますが、ファイルへの直接アクセスは許可されません。 これを実現する最善の方法は何でしょうか? パーミッションで何かを行うか、.htaccess でディレクトリをロックアウトする必要がありますか?
どのように解決するのですか?
最も安全な方法は、Damien が提案したように、自分自身に保持しておきたいファイルを Web ルート ディレクトリの外側に置くことです。これは、Web サーバーが自分自身の特権ではなく、ローカルのファイル システムの特権に従うためです。
しかし、Web ルートへのアクセス権しか与えないホスティング会社が多く存在します。それでもファイルへの HTTP リクエストを防ぐには、すべての通信をブロックする .htaccess ファイルを使用して、ファイルをそれ自体のディレクトリに置きます。たとえば
Order deny,allow
Deny from all
ディレクトリのローカル権限により、ウェブサーバはファイルの読み取りと実行を許可されているため、ウェブサーバ、したがってサーバサイド言語は、まだそれらを読み取ることができます。
関連
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み】不明なMySQLサーバーのホスト
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] Laravelのファイルパーミッションを設定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】既に開始されているPHPセッション【重複あり
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。