-1

私はhtaccessファイル、アクセス権やそれが私のサーバーでのみ使用させるためにあらゆるトリックをしたいと.txtファイルが直接表示されないようにするにはどうすればよいですか?

    $.get('codes.txt', function (contents) { 
 
         if (contents.includes($('#code').val())) { 
 
          validForm =true; 
 
         } else { 
 
          alert("Sorry!! That is not a valid code. Try again! Or email [email protected]"); 
 
          return false; 
 
         } 
 
        });

codes.txtと呼ばれる.txtファイルに検索します。このJavaScriptコードを持っています直接見たことがないhttp://mysite/codes.txt

どうすればいいですか?

+1

クライアント側でファイルの内容を読むことができます。これをサーバーに移植する必要があります。そのため、検索する用語だけがそこに送信され、テキストファイルにそのキーワードが含まれているかどうかに基づいて、サーバー側のスクリプトは、サイドスクリプト。 – CBroe

+0

firebaseのようなクラウドストレージサービスを利用する – charlietfl

答えて

3

あなたの.htaccessを編集すると、AJAXからのみアクセスする場合は読み込みファイルを受け入れることができます。

<Files "code.txt"> 
    SetEnvIfNoCase X-Requested-With XMLHttpRequest ajax 
    Order Deny,Allow 
    Deny from all 
    Allow from env=ajax 
</Files> 
+0

どうすればそれを.txtファイルのみに設定できますか? – user7727361

+0

最も簡単な解決策は、 "config"のようなフォルダを作成し、上記のコードでcode.txtと.htaccessファイルを置くことです... "config"というフォルダからajaxを呼び出すよりも:$ .get( 'config/codes.txt '、function(contents){...} –

1

codes.txt公開ディレクトリの外(またはそれへのパブリックアクセスを拒否するようにhtaccessファイルを使用)、テキストファイルの内容を返すサーバーサイドスクリプトをヒットする$.getを使う代わりに、テキストを打つ当時とファイル自体。その後、サーバー側のスクリプトにセキュリティを追加することができます。 (ユーザー権限、CSRF保護など)

関連する問題