{ "info": { "author": "David Winterbottom", "author_email": "david.winterbottom@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "===============\nDjango Rickroll\n===============\nA novel way of handling malicious requests within a Django application.\n\nInstallation\n------------\nInstall from PyPi (stable)::\n\n pip install django-rickroll\n\nor Github (dev)::\n\n pip install -e git://github.com/codeinthehole/django-rickroll.git#egg=django-rickroll\n\nAdd ``'rickroll'`` to your ``INSTALLED_APPS`` and the following to your\n``MIDDLEWARE_CLASSES``::\n\n 'rickroll.middleware.HackingAttemptMiddleware'\n\nUsage\n-----\nWherever you detect a hacking attempt, raise a ``HackingAttempt`` exception\nand the middleware will rickroll the offending user. \n\nFor example, in your ``views.py``::\n\n from rickroll.exceptions import HackingAttempt\n\n def some_view(request):\n # ...\n if hacking_detected:\n raise HackingAttempt()\n\nthen the user in question will get redirected to http://www.youtube.com/watch?v=dQw4w9WgXcQ.\nThe destination can be overridden using the setting ``RICKROLL_URL``.\n\nDiscussion\n----------\nIf your site ever gets penetration tested, the testing company will likely manipulate\nevery request to your site where there are parameters being passed (query\nparameters, POST params, cookies etc). When you encounter a parameter which\nshould be an integer but has value ``../../../../../../etc/passwd``, it's not\nalways clear what the \"right\" response should be. I thought it would be funny\nto rickroll.", "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/codeinthehole/django-rickroll", "keywords": null, "license": "Copyright (C) 2012 David Winterbottom\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", "maintainer": null, "maintainer_email": null, "name": "django-rickroll", "package_url": "https://pypi.org/project/django-rickroll/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-rickroll/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/codeinthehole/django-rickroll" }, "release_url": "https://pypi.org/project/django-rickroll/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Rickrolling Django middleware to annoy potential hackers", "version": "0.1.1" }, "last_serial": 790503, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "6c7b56d12b1159a58b843bbdb5a201d0", "sha256": "01cf7eef277716cb0f9a4203f04015671d69912ee64e70105b79b6158d0bd64f" }, "downloads": -1, "filename": "django-rickroll-0.1.tar.gz", "has_sig": false, "md5_digest": "6c7b56d12b1159a58b843bbdb5a201d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1887, "upload_time": "2011-11-29T21:51:27", "url": "https://files.pythonhosted.org/packages/4d/e1/baf1523ea7330a3b8c11c00af79d5f12e916b8dec528543a75bfe5415df6/django-rickroll-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b3a8bdbf331ec504e060cf733f95e47d", "sha256": "0ecc505f8b800ec47a69cbfed7f77e331902067bf598566fcbbf9028371af89f" }, "downloads": -1, "filename": "django-rickroll-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b3a8bdbf331ec504e060cf733f95e47d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2705, "upload_time": "2012-08-22T14:24:12", "url": "https://files.pythonhosted.org/packages/50/8e/9615c956ee509f0d69bdd1b996783aa1b52eb55b2ad166aaaec711188f29/django-rickroll-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3a8bdbf331ec504e060cf733f95e47d", "sha256": "0ecc505f8b800ec47a69cbfed7f77e331902067bf598566fcbbf9028371af89f" }, "downloads": -1, "filename": "django-rickroll-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b3a8bdbf331ec504e060cf733f95e47d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2705, "upload_time": "2012-08-22T14:24:12", "url": "https://files.pythonhosted.org/packages/50/8e/9615c956ee509f0d69bdd1b996783aa1b52eb55b2ad166aaaec711188f29/django-rickroll-0.1.1.tar.gz" } ] }