私は 1 年前に php を使用してサイトを作成しましたが、経験があまりありませんでした。先生と私は今日コードを分析していましたが、セキュリティ上の問題があるようです。彼は私に必要なポイントを与える前に、私にそれを直してほしいと思っています。
ルートディレクトリに と ファイルがあり、ログインページがありますindex.php
(ログインファイルを入れるのは非常にばかげた場所であることがわかりました。今振り返ってみると、おそらく と を交換するでしょう)サイトを書き直す場合は のディレクトリ)。edit.php
/php/login.php
edit.php
login.php
基本的に、これら 3 つのファイルを外部からアクセスできるようにしたいと考えています。他のすべてのphpファイルを外部から制限したいので、システムの外部から ajax 呼び出しを行うことは不可能/php/phpsavefile.php
です(これは私が言及したセキュリティ上の問題です)。edit.php
への ajax 呼び出しを行い/php/savefile.php
ます。
私はこれが私が仕事を成し遂げるために必要なものだと思います:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
<Files /index.php>
Order Allow,Deny
Allow from all
</Files>
<Files
しかし、前後に1 つだけではなく、3 つのファイルを追加するにはどうすればよい>
でしょうか。
2番目のアプローチも試しました:
Order Deny,Allow
Deny from all
ajax 呼び出しも通常の http 要求のように見えるため、これは機能しないようで、403 応答が返されます。
私が試した別のアプローチは、「httpdocs」が残っているのと同じフォルダー(webrootの親フォルダー)の「private」と呼ばれるマップ内に制限されたphpファイルを置くことでした。私の先生は、サイト自体以外は誰もアクセスできない管理フォルダーについて教えてくれました。プライベートフォルダー内に制限付きのphpファイルを含めてみましたが、正しく含まれていないようでした...
.htaccess でこの初心者のためのヘルプやヒントをいただければ幸いです :-)
編集:
.htaccess はインクルードからのみファイルへのアクセスを許可します
レイのコメントは次のように述べています。
もちろん、お客様からの依頼だからです。ファイルを提供することを「クライアントに許可」および「クライアントに許可しない」ことはできません。
これは本当だと思いますが、人々が私の ajax ファイルを呼び出さないようにするにはどうすればよいですか?