Это, вероятно, лучше всего сделать на уровне сервера, еще до того, как запрос попадет в Django. Например, в Apache вы можете использовать mod_rewrite
для контроля доступа. Это правило отклоняет все запросы с путями, заканчивающимися на .php
, .htm
или .html
:
RewriteRule \.(php|html?)$ - [F]
В документации Apache объясняется, как блокировать запросы по пользовательскому агенту, по рефереру, по IP-адресу и т. Д.