{
"info": {
"author": "lanius",
"author_email": "lanius@nirvake.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "\ufeffWhat is Flask-Mitten?\n======================\n\nAdds security functions to Flask applications for preventing some of the basic threats.\n\nFeatures\n========\n\nFlask-Mitten supports Flask applications to prevent following threats.\n\n- Clickjacking\n- CSRF\n- Information disclosure through banner grabbing\n- JSON hijacking\n- Session fixation\n\nIt bundles functions of following Flask extensions.\n\n- `Flask-KVSession `_\n- `flask-csrf `_\n\nMore details, see the implementation.\n\n\nUsage\n=====\n\nInstallation\n------------\n\nInstall the extension with the following commands::\n\n pip install Flask-Mitten\n\nConfiguration\n-------------\n\nApply the extention to your app::\n\n from flaskext.mitten import Mitten\n app = Flask(__name__)\n mitten = Mitten(app)\n\nRequest headers are overridden to prevent clickjacking and information disclosure.\n\nIf you want to set your own banner, you can do it::\n\n mitten.banner = \"My Nice Banner!\"\n\nPreventing Session Fixation\n---------------------------\n\nAfter login, call a regenerate method of session object::\n\n session.regenerate()\n\nThe session ID is regenerated, and it prevents session fixation.\n\nTo discard a session, call a destroy method::\n\n session.destroy()\n\nPreventing CSRF\n---------------\n\nTo embed CSRF token, add following line to your template::\n\n \n\nA POST request is protected against CSRF automatically.\n\nIf you want to exclude a route from CSRF protection, use a csrf_exempt decorator::\n\n @mitten.csrf_exempt\n @app.route('/public_api/', methods=['POST'])\n def public_api():\n return \"result\", 200\n\nPreventing JSON Hijacking\n-------------------------\n\nIf you send a JSON response, you could use a json decorator to avoid JSON hijacking or rendering JSON responses by direct browsing::\n\n @mitten.json\n @app.route('/json_api/')\n def json_api():\n return jsonify(result='success')\n\nMore\n----\n\nFor more details, see an example app.",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/lanius/flask-mitten",
"keywords": null,
"license": "BSD",
"maintainer": null,
"maintainer_email": null,
"name": "Flask-Mitten",
"package_url": "https://pypi.org/project/Flask-Mitten/",
"platform": "any",
"project_url": "https://pypi.org/project/Flask-Mitten/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/lanius/flask-mitten"
},
"release_url": "https://pypi.org/project/Flask-Mitten/0.2.1/",
"requires_dist": null,
"requires_python": null,
"summary": "Adds security functions to Flask applications for preventing some of the basic threats.",
"version": "0.2.1"
},
"last_serial": 784315,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "df977f88dd460466f313e8e09b443eff",
"sha256": "2a3875bbc112f7760940b51f465721ae13e6a931bbe568c8c871569b11f82a64"
},
"downloads": -1,
"filename": "Flask-Mitten-0.1.zip",
"has_sig": false,
"md5_digest": "df977f88dd460466f313e8e09b443eff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5727,
"upload_time": "2012-02-28T15:44:20",
"url": "https://files.pythonhosted.org/packages/a5/96/34ae484f5ac2f09ccfef77d95bfc188f3ab3ac86fcfd63dde968a744006f/Flask-Mitten-0.1.zip"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "5748f98d02392ae4fbb599a8e75bd93d",
"sha256": "a3c2f160670acbfd006fdace892b265e19cfb45fe1c58190c716822cdbb8ab34"
},
"downloads": -1,
"filename": "Flask-Mitten-0.2.zip",
"has_sig": false,
"md5_digest": "5748f98d02392ae4fbb599a8e75bd93d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6255,
"upload_time": "2012-03-03T04:06:39",
"url": "https://files.pythonhosted.org/packages/a7/88/f2e477d1717f66aa8d72ab9c22da6ad003b5df5ae947d848ca3482d3d015/Flask-Mitten-0.2.zip"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "1ac8311a863b560d441c8e423f05166f",
"sha256": "1fed723371796abb9c0678d1566fde643b3c180cc86ca598949566ab72c09892"
},
"downloads": -1,
"filename": "Flask-Mitten-0.2.1.zip",
"has_sig": false,
"md5_digest": "1ac8311a863b560d441c8e423f05166f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12175,
"upload_time": "2012-03-04T09:37:44",
"url": "https://files.pythonhosted.org/packages/37/59/68b7b29da71160fc247904a7c166c7f27ba34cd82c6e6ab0391d958c604c/Flask-Mitten-0.2.1.zip"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "1ac8311a863b560d441c8e423f05166f",
"sha256": "1fed723371796abb9c0678d1566fde643b3c180cc86ca598949566ab72c09892"
},
"downloads": -1,
"filename": "Flask-Mitten-0.2.1.zip",
"has_sig": false,
"md5_digest": "1ac8311a863b560d441c8e423f05166f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12175,
"upload_time": "2012-03-04T09:37:44",
"url": "https://files.pythonhosted.org/packages/37/59/68b7b29da71160fc247904a7c166c7f27ba34cd82c6e6ab0391d958c604c/Flask-Mitten-0.2.1.zip"
}
]
}