2016-12-01 4 views
0

PythonのSimpleHTTPServerを使用して、サーバーがローカルマシンからの要求にのみ応答するようにするにはどうすればよいですか?Pythonでlocalhostへのページアクセスを制限する方法は?

これには言語に依存しない方法がありますか?おそらく、一般に公開されていない特定のポートを使用するか、ファイアウォールに外部からのそのポートへのアクセスを許可しないように指示することによって、

この質問は、this oneに似ていますが、PythonのSimpleHTTPServerで書かれたサーバーに固有の質問です。

答えて

2

ループバックインターフェイスを使用できます。 localhostまたは127.0.0.1は、ローカルアドレスを参照し、ネットワークスタック全体をバイパスし、ネットワーク経由でアクセスできません。 wikipedia

SimpleHTPServer exampleを参照してください。

import SimpleHTTPServer 
import SocketServer 

PORT = 8000 

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler 

httpd = SocketServer.TCPServer(("", PORT), Handler) 

print "serving at port", PORT 
httpd.serve_forever() 

私たちは、あなたのマシン/インターフェース、またはあなたのケース内に割り当てられたアドレス、ループバックデバイスを使用することができ、特定のアドレスにバインドすることができます。

httpd = SocketServer.TCPServer(("127.0.0.1", PORT), Handler) 

その後、http://127.0.0.1:8000/またはhttp://localhost:8000/でサーバーにアクセスすることができます。ローカルマシンとネットワークの両方から、マシンに割り当てられたIPアドレスを使用してサーバーにアクセスすることはできません。

以下は、追加情報を提供してもよい

関連する問題