@app.router('/user/idcard'):
def user_idcard_page():
if user is login:
return '<img src="http://files.jb51.net/upload/user/xxx.png'>"
else:
reutrn '<p>Pemission Denied<p>', 403
location /upload/(.*) {
alias /vagrant/;
internal;
}
@app.router('upload/<filename>')
@login_required
def upload_file(filename):
response = make_response()
response['Content-Type'] = 'application/png'
response['X-Accel-Redirect'] = '/vagrant/upload/%s' % filename
return response
project struct project app.py templates static 0.jpeg upload 0.jpeg
server {
listen 80 default_server;
# server_name localhost;
server_name 192.168.33.10;
location / {
proxy_pass http://127.0.0.1:8888;
proxy_redirect off;
proxy_set_header Host $host:8888;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 正常的静态文件
location /static/(.*) {
root /vagrant/;
}
# 用户上传的文件,需要做权限限制
location /upload/(.*) {
alias /vagrant/;
internal; # 只接受内部请求的指令
}
}
from functools import wraps
from flask import Flask, render_template, redirect, url_for, session, send_file
app = Flask(__name__)
app.config['SECRET_KEY'] = 'you never guess'
def login_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if not session.get('login'):
return redirect(url_for('login', next=request.url))
return f(*args, **kwargs)
return decorated_function
@app.route('/')
def index():
return 'index'
@app.route('/user')
@login_required
def user():
return render_template('upload.html')
# 用户上传的文件视图处理,在此处返回请求给nginx
@app.route('/upload/<filename>')
@login_required
def upload(filename):
return send_file('upload/{}'.format(filename))
@app.route('/login')
def login():
session['login'] = True
return 'log in'
@app.route('/logout')
def logout():
session['login'] = False
return 'log out'
if __name__ == '__main__':
app.run(debug=True)
gunicorn -w4 -b0.0.0.0:8888 app:app --access-logfile access.log --error-logfile error.log
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有