Python+Flask(Flaskr)で、ログアウト
Python+Flask(Flaskr)で、ログアウトです。 これは、セッションを破棄するだけなので、簡単です。# ログアウト@app.route('/logout')def logout(): session.pop('logged_in', None) flash(u'ログアウトしました', 'info') return...
View ArticlePython+Flask(Flaskr)で、データベースに新規登録
Python+Flask(Flaskr)で、データベースに新規登録です。ログイン状態をチェックして、データ挿入、一覧にリダイレクトという流れです。@app.route('/add', methods=['POST'])def add_entry(): if not session.get('logged_in'): abort(401) db = get_db()...
View ArticlePython+Flask(Flaskr)で、テンプレート「Jinja2」でのログイン判定
Python+Flask(Flaskr)で、テンプレート「Jinja2」でのログイン判定です。session.(セッション名)で、セッション変数を取得できるらしい。{% if not session.logged_in %}<a href="{{ url_for('login') }}">ログイン</a>{% else %}<a href="{{...
View ArticlePython+Flask(Flaskr)で、パスワードハッシュ「Flask-Bcrypt」
Python+Flask(Flaskr)で、パスワードハッシュ「Flask-Bcrypt」です。 「Flask-Bcrypt」というエクステンションを利用するとBcryptが使えるようになります。from flask import Flaskfrom flask.ext.bcrypt import Bcryptapp = Flask(__name__)bcrypt =...
View ArticlePython+Flask(Flaskr)で、クッキー(Cookie)
Python+Flask(Flaskr)で、クッキー(Cookie)です。make_response()関数を利用して、クッキーのレスポンスヘッダーを追加する必要があるらしい。気持ちは分かるんですが、慣れが必要です(笑)。 from flask import make_responsedef login(): if authenticated : resp =...
View Article.NETフレームワーク内でPHPを実行できる「Peachpie」
.NETフレームワーク内でPHPを実行できる「Peachpie」 PHPコードを移植可能なクラスライブラリにコンパイルすることで、開発者はクロスプラットフォームアプリやライブラリを迅速かつ簡単に構築できるとのこと。 Peachpieは、まだ開発のアルファ段階にあり、PHPと完全に互換性がありません。 本番環境で使用するには、慎重にテストする必要があるそうです。参考サイトpeachpie.io -...
View ArticleNginx最新版で高速コンテンツ配信を実現する「HTTP/2 Server Push」
Nginx最新版で高速コンテンツ配信を実現する「HTTP/2 Server Push」 興味深い。「HTTP/2 Server...
View ArticlePython+Flaskで、全てのリクエストをHTTPSにリダイレクト「Flask-SSLify」
Python+Flaskで、全てのリクエストをHTTPSにリダイレクトしてくれる「Flask-SSLify」を設定してみました。HTTPでアクセスすると、HTTPSにリダイレクトしてくれます。ウェブサーバーで制御するものではなく、エクステンションとして組み込む形式。from flask import Flaskfrom flask_sslify import SSLifyapp =...
View ArticlePython+Flaskで、キャッシュ「Flask-Cache」
Python+Flaskで、キャッシュ「Flask-Cache」です。ビューのキャッシュ以外にも、関数の結果をキャッシュできたりするらしい。from flask import Flaskfrom flask.ext.cache import Cacheapp = Flask(__name__)# 設定読み込みcache = Cache(app,config={'CACHE_TYPE':...
View ArticlePython+FlaskのテンプレートJinja2で、リクエストとセッション
Python+FlaskのテンプレートJinja2で、リクエストとセッションです。 テンプレートだからといって書き方が変わるわけではなく、Pythonのプログラム部分とほぼ同じように書けます。素晴らしい。IDは、{{ request.args.get('id') }} です。ログインしているのは、{{ session.username }}...
View ArticlePython+FlaskのテンプレートJinja2で、Markdown
Python+FlaskのテンプレートJinja2で、Markdownです。import markdownfrom flask import Flaskfrom flask import render_templatefrom flask import Markup@app.route('/markdown')def show_markdown(): content =...
View ArticlePython+FlaskのテンプレートJinja2で、カスタムフィルター
Python+FlaskのテンプレートJinja2で、カスタムフィルターです。# オブジェクトを逆にならべるフィルター@app.template_filter('reverse')def reverse_filter(s): return s[::-1]@app.route('/')def index(): db = get_db() cur = db.execute('select title,...
View Articleセキュリティ診断ツールが充実したLinuxディストリビューション「Kali Linux」
セキュリティ診断ツールが充実したLinuxディストリビューション「Kali Linux」 Microsoftストアに導入されたそうです。Kali Linuxは、世界レベルの情報セキュリティトレーニングと侵入テストサービスを提供するOffensive Securityによって維持管理されているオープンソースプロジェクトです。 Kali Linuxに加えて、Offensive...
View ArticleGoogleのiOS+Android開発フレームワーク「Flutter」
GoogleのiOS+Android開発フレームワーク「Flutter」 Flutterは、iOSとAndroidでネイティブインターフェイスを作成するGoogleのモバイルUIフレームワークです。 Flutterは既存のコードで動作し、オープンソースです。参考サイトDart言語によるモバイルアプリ(iOS/Android)開発フレームワークFlutterがベータを開始(TechCrunch Japan)
View ArticlePythonでGETやPOSTなどのリクエストを送信できる「Requests」ライブラリ
PythonでGETやPOSTなどのリクエストを送信できる「Requests」ライブラリを組み込んでみました。シンプルで、非常に扱いやすい。import requestsresponse = requests.get('http://www.example.com')# ステータスコードprint(response.status_code)#...
View ArticlePython+Mailgunでメール送信
Python+Mailgunでメール送信です。試しにサンドボックス環境から、メール送信してみました。def send_simple_message(): return requests.post("https://api.mailgun.net/v3/sandbox.mailgun.org/messages", auth=("api", "YOUR_API_KEY"), data={"from":...
View ArticlePython+Flask+SQLAlchemyで「Could not parse rfc1738 URL from string」のエラー
Python+Flask+SQLAlchemyで「Could not parse rfc1738 URL from string」のエラーです。データベースへの接続文字列が間違っているために出るエラーらしいです。from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp =...
View ArticlePython+Flaskに、ORMのSQLAlchemyを設定
Python+Flaskに、ORMのSQLAlchemyを設定してみました。SQLite3のデータベースに接続しています。from flask import Flaskfrom flask_sqlalchemy import SQLAlchemy# 初期設定app.config.update(dict( SQLALCHEMY_DATABASE_URI =...
View ArticlePython+Flaskに、ORMのSQLAlchemyを設定、データの新規追加
Python+Flaskに、ORMのSQLAlchemyを設定、データの新規追加です。セッションを使うところがポイントなんでしょうか。@app.route('/add', methods=['POST'])def add_entry(): if not session.get('logged_in'): abort(401)entry = Entry(request.form['title'],...
View Article理論上、解読不可能なインターネット暗号通信(日立)
株式会社日立製作所は、インターネットに接続された環境で、事実上暗号解読が不可能なほどの高い安全性を実現する暗号通信技術を開発したとのこと。実用化が待たれますねぇ。今回の試作機では共通鍵の長さは1900ビット、全数探索数は10の572乗となり、宇宙年齢の138億年を使っても解読が困難なレベルの安全性を実現したとしている。参考サイト日立、ランダムなノイズを利用して理論上解読が不可能なレベルで長距離の暗号...
View Article