Django Antispam模块,带有不可见的假注释/联系人表单、基于cookie的中间件和Akismet验证。

djangospam的Python项目详细描述


djangospam

django antispam模块针对django,带有一个不可见的假评论/联系表单, 基于cookie的中间件和akismet验证。

有关完整文档,请参见http://pythonhosted.org/djangospam" rel="nofollow">http://pythonhosted.org/djangospam。达贡帕姆 与Python2和3都兼容。

有关开发版本,请参见https://github.com/leandroarndt/djangospam" rel="nofollow">https://github.com/leandroarndt/djangospam。

快速启动

以下是使用djangospam的基本步骤。你可以得到更多的信息 引用的模块和位于djangospam.settings的

带有cookie中间件的假表单

0.3.0版中的新功能

cookie中间件使用cookie来识别已知的垃圾邮件机器人。简单的 爬虫通常不接受cookies,但是垃圾邮件机器人可能会接受,因为 网站可能需要这样才能收到评论。为了使用 cookie中间件,添加djangospam.cookie.middleware.spamcookiemiddleware 在您的设置文件(通常是settings.py)中 中间件类 。 在模板中,在之前插入 真正的表单:

{% include 'djangospam/cookieform.html' %}

您还必须添加 (r"^somewhere/",包括("djangospam.cookie.url") 到您的url模式(通常在根url.conf; 中的某个地方 可以是任何路径,但用于真正的帖子的路径除外)。 我建议使用以下路径:

(r'^comments/', include('djangospam.cookie.urls')),
(r'^spam/', include('django_comments.urls')),

没有中间件的假表单

您也可以使用没有cookie中间件的假表单。本遗嘱 阻止来自已知垃圾邮件机器人的访问。为了做到这一点, 在您安装的模块中(位于 settings.py )包含 djangospam ,并 在模板中插入以下代码, 在真正的表单之前:

{% include 'djangospam/form.html' %}

您还可以使用 假公式目标uri。如果未定义uri,则将发布表单 在表格所在页的同一地址 (它将用于 <;form method="post"action="">;…<;/form>; 代码)。目标地址必须接受POST请求,并且不应更改 数据库。

您可以通过将其模板复制到 模板/djangospam 位于应用程序的目录并编辑它。

基于cookie的主持人

0.4.0版中的新功能

djangospam.cookie.mediator 定义基于cookie的评论版主 应该附加到 你的评论模型。此版主测试的评论帖子请求 djangospam曲奇并丢弃那些没有的曲奇。 有关cookie系统的更多信息,请参见djangospam.cookie.middleware。 使用此评论版主的代码必须使用该中间件。

您的模型文件应该如下:

from djangospam.cookie import moderator as cookie

class MyModel(...):
    ...

try:
    cookie.register(MyModel)
except cookie.AlreadyModerated:
    pass

Akismet

0.2.0版中的新功能

djangospam.akismet.maritor 定义了一个基于akismet的评论版主。 除了在您安装的模块中包括djangospam(位于 settings.py ), 您应该在模型文件中插入以下代码:

from djangospam.akismet import moderator as akismet

class MyModel(...):
    ...

try:
    akismet.register(MyModel)
except akismet.AlreadyModerated:
    pass
< DL>
警告:

自0.4.0版以来,Akismet版主已被单独转换为 分包。使用它的代码必须重写如下:

from djangospam import akismet

必须更改为:

from djangospam.akismet import moderator as akismet

使用from djangospam import akismet 现在已被弃用,不会 从1.0.0开始提供。

您还必须在 settings.py中定义以下变量:

< DL>
Akismet_博客
您的主页url,包括http:///a>
Akismet_键
您在akismet.com上的应用程序密钥
Akismet_用户代理
您的应用程序名
Akismet用户代理版本
您的应用程序版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
maven通过pom文件增加最大java堆大小   java如何在Kojo IDE输出窗格中打印到同一行?   如何使用特定的JRE交付Java应用程序?   java Cordova插件调用日志找不到符号   Java上Redis哈希中的spring列表   java ThreadSafeClientConnManager不是多线程   java如何在激活器中获取IEclipseContext   java如何通过编程更改除法器偏差   在中找不到maven Java/Mvn本地资源。罐包装   JOptionPane的java用户输入验证。showInputDialog   java编辑:如何更改日期对象的日期格式?   文件编写器Java;如何覆盖   一行中包含多个值的java读取属性   java如何在安卓中使用截击上传视频