2017-08-23 5 views
0

角度jsアプリケーションを使用していて、Nginxから特定のIPアドレスのURLをブロックしたいとします。 url:ipAddress:port /#/ register。ipAddressをブロックできません:port /#/ nginxからの登録

URLをブロックするために直面​​している問題は次のとおりです。中間に#があるため、NginxはURLを検出できません。私はnginx.config

location /#/register 
{ 
allow 122.1.1.1; 
deny all; 
proxy_pass https://localhost:8443; 
} 

内のこの設定を書いた

私の代わりに#の正規表現のすべての種類を置くことを試みたが、それでも、私はここで何かが欠けています。

私がそれを検出してブロックする可能性のある方法を教えてください。 ありがとうございます。

答えて

0

をロジックを処理しようとする必要があります:ipAddressのとき:ポート/#/レジスタが最初に初めて呼び出されます起こることは、すべてのコントローラーをブラウザーのメモリーにロードして、それを特定のコントローラーにアングルルーティングすることです。私はコントローラーが行うAPI呼び出しをブロックしました。

私はコントローラー側から行うことができました。しかし、簡単にハックすることができます。それで、それはnginx側を形成しました。

0

これをキャプチャすることはできません。これは決してサーバーに送信されないためです。これらはHTMLアンカーで、ページ上の位置にリダイレクトするため、または角度をつけてルーティングするために使用されます。私はカール

$ curl -vL "http://192.168.33.100/test/#/register" 
* Trying 192.168.33.100... 
* TCP_NODELAY set 
* Connected to 192.168.33.100 (192.168.33.100) port 80 (#0) 
> GET /test/ HTTP/1.1 
> Host: 192.168.33.100 
> User-Agent: curl/7.54.0 
> Accept: */* 
> 
< HTTP/1.1 200 OK 

またはブラウザ

Browser image

でを使用して、それを押すと、あなたが#を見ることができますし、その後何がまったくサーバーに送信されていないとしてURL http://192.168.33.100/test/#/register

を考えてみましょう。また、ページをレンダリングするipAddress:port/#/registerを使用すると、そのページはそのアクションを実行するAPIリクエストを行います。

ですから、角度によって呼び出されるAPIを保護対象とすべきであり、あなたがあなたの角度のルートで解決

+0

はい、#の後にはURLに表示されません。しかし、リクエストの一部でバックエンドにヒットすると、「登録」が行われます。これは、角度経路がどのようにリダイレクトするかを理解する方法です。私は、要求のどの部分が来ているのかを知る必要があると思います。 –

+0

ChromeでDevToolsを使用し、[ネットワーク]タブを見てください。このためにあなたのAngular Appが何を求めているのかがわかります –

関連する問題