Ich benutze Python mit Tornado-Webserver. die Anwendung funktioniert gut, aber ich finde keine Möglichkeit, den Benutzer beim Zugriff auf Server-Dateien direkt über die URL zu verhindern. zum Beispiel habe ich die folgenden Dateien auf dem Server:Verhindern direkten Dateizugriff auf Server-Dateien in Tornado
program.py
index.html
main.html
i der Benutzer Zugriff auf die über Server-Dateien direkt über Web-URL verhindern wollte
ex: localhost: 8080/program.py oder /index.html
ich wollte sie nur localhost zugreifen: 8080/oder/home
Vielen Dank im Voraus
from ws4py.client.tornadoclient import TornadoWebSocketClient
import tornado.ioloop
import tornado.web
import tornado.websocket
import tornado.template
SETTING_CLIENT_LISTEN_PORT = 8080
class MainHandler(tornado.web.RequestHandler):
def get(self):
try:
loader = tornado.template.Loader(".")
self.write(loader.load("index.html").generate())
except Exception as e:
print("exception occured", e)
class CWSHandler(tornado.websocket.WebSocketHandler):
global waiters
def open(self):
print('###FUNCTION CWSHandler.open(self) start')
def on_close(self):
print('###FUNCTION CWSHandler.open(self) close')
def on_message(self, message):
print('###FUNCTION CWSHandler.on_message msg:', message)
settings = {
"cookie_secret": "bZJc2sWbQLKos6GkHn/VB9oXwQt8S0R0kRvJ5/xJ89E=",
"login_url": "/",
}
application = tornado.web.Application(handlers=[
(r'/', MainHandler),
(r'/cws', CWSHandler),
(r"/(.*)", tornado.web.StaticFileHandler,{'path':'./'})
], cookie_secret="bZJc2sWbQLKos6GkHn/VB9oXwQt8S0R0kRvJ5/xJ89E=")
if __name__ == "__main__":
server = tornado.httpserver.HTTPServer(application)
server.listen(SETTING_CLIENT_LISTEN_PORT)
try:
tornado.ioloop.IOLoop.instance().start()
server.stop()
except KeyboardInterrupt:
print("Keyboard interupt")
pass
finally:
server.stop()
tornado.ioloop.IOLoop.instance().stop()
Wenn sie Zugriff haben, liegt es daran, dass Sie sie aktivieren. Veröffentlichen Sie Ihren Code, wenn Sie spezielle Ratschläge benötigen. – RobertB
Hallo habe meinen Code hinzugefügt. danke – chipnot