robertgallione/stopforumspam-php

此包已被弃用且不再维护。未建议替代包。

StopForumSpam.com 非官方 PHP API 库

1.1 2017-11-09 05:26 UTC

This package is not auto-updated.

Last update: 2018-04-15 18:44:00 UTC


README

我花了几个小时构建了这个 API 客户端,用于我正在构建的软件。它具有您可能需要的所有功能,但我相信功能可以被扩展。如果您想添加任何额外的功能,欢迎提交 PR。这个客户端已经进行了大量的错误测试,但是如果您发现任何错误,请打开一个 问题,我会在有时间时审查和解决它。

关于 StopForumSpam.com

Stop Forum Spam 是一个免费服务,它记录论坛、博客和维基等网站上关于垃圾邮件的报告。所有这些记录都可供您搜索和查看,更重要的是,可以通过自动化方式访问以阻止潜在的垃圾邮件发送者进入网站。每个人都熟悉更多传统的“解决单词”系统来防止滥用,Stop Forum Spam 是一个针对性和专业性的解决方案,旨在帮助阻止对您网站滥用。

要求

安装

您必须安装 Composer 才能使用此 API 客户端。

composer require robertgallione/stopforumspam-php

如果您没有使用像 Laravel 这样的框架,则需要包含 autoload.php 文件。

require 'vendor/autoload.php';

使用方法

初始化

$apiClient = new StopForumSpam\Api('YOUR_API_KEY_GOES_HERE'); // Get your API Key at: http://www.stopforumspam.com/signup

设置数据

setIp($ip = null)

此设置器允许您设置一个或多个要发送的 IP 地址。

  1. 设置单个 IP 地址。
$apiClient->setIp(); // This will get the current ip address
$apiClient->setIp('127.0.0.1');
  1. 设置多个 IP 地址(仅用于批量测试)。
$apiClient->setIp([
  '127.0.0.1',
  '127.0.0.2',
  '127.0.0.3'
]);

setEmail($email)

此设置器允许您设置一个或多个要发送的电子邮件地址。

  1. 设置单个电子邮件地址。
$apiClient->setEmail('example@mail.com');
  1. 设置多个电子邮件地址(仅用于批量测试)。
$apiClient->setEmail([
  'example1@mail.com',
  'example2@mail.com',
  'example3@mail.com'
]);

setUsername($username)

此设置器允许您设置一个或多个要发送的用户名。

  1. 设置单个用户名。
$apiClient->setUsername('example');
  1. 设置多个用户名(仅用于批量测试)。
$apiClient->setUsername([
  'example1',
  'example2',
  'example3'
]);

setMaxConfidence($confidence)

此设置器允许您在测试 setIsConfidence();setConfidenceData(); 函数时的最大置信度级别。

默认情况下,如果没有设置,最大置信度默认为 25.0。

  1. 设置最大置信度级别。
$apiClient->setMaxConfidence(23.4);

setMaxFrequency($frequency)

此设置器允许您在测试频率时设置允许的最大频率,当使用 setIsConfidence();setConfidenceData(); 函数没有找到置信度时。

未设置时,最大频率默认为25

  1. 设置最大频率
$apiClient->setMaxFrequency(25);

setExplanation($explanation)

此设置器允许您在报告数据时发送解释。

  1. 设置解释。
$apiClient->setExplanation('Spamming');

从API获取数据

setResultData($return = false)

这将通过使用已设置的数据向 StopForumSpam.com API 发送请求。如果您之前设置了BULK数据,则将进行批量请求,否则将进行常规请求。请求通过 Guzzle 使用POST方法进行。

您必须为此函数设置至少一个参数才能使其工作!
如果 $return = true;,则此函数将返回从API检索的数据。

$apiClient->setResultData(); // After data has been set

从API获取检索数据

getResultData()

这将返回运行 setResultData(); 时接收到的检索数据。

您必须运行 setResultData(); 才能使此函数工作!

$apiClient->getResultData(); // Will return an array.

解析数据

setIsConfidence($type = 'ip', $confidence = null, $return = true)

此函数仅适用于非批量数据

这将使用 setResultData(); 运行检索到的数据,如果从API检索的置信度低于设置的最大置信度,则返回 return true。您必须指定要运行此函数的数据类型。

例如,如果您在运行 setResultData(); 函数时仅设置了用户名,则必须指定 setIsConfidence('username');

您还可以通过此函数直接指定置信度级别,如果您没有使用 setMaxConfidence($confidence); 设置它。为此,您必须指定类型,然后是最大置信度级别,例如:setIsConfidence('email', 15.6);未设置时,最大置信度级别默认为25。

$apiClient->setIsConfidence($type = 'email'); // $types -> ip, email, username

此外,如果 $return = false,则此函数将始终返回 return true

getIsConfidence()

您可以在运行 setIsConfidence(); 后运行此函数来获取上次运行函数时保存的响应。此函数将简单地返回 return truereturn false

setConfidenceData($type = 'ip', $confidence = null, $return = true)

此函数仅适用于批量数据

这将使用 setResultData(); 运行检索到的数据,如果从API检索的置信度低于设置的最大置信度,则返回 return true。您必须指定要运行此函数的数据类型。

例如,如果您在运行 setResultData(); 函数时仅设置了用户名,则必须指定 setConfidenceData('username');

如果您没有使用setMaxConfidence($confidence);设置置信度,也可以通过此函数直接指定置信度级别。要做到这一点,您必须先指定类型,然后指定最大置信度级别,例如:setConfidenceData('email', 15.6);如果没有设置,最大置信度级别默认为25。

$apiClient->setConfidenceData($type = 'email'); // $types -> ip, email, username

如果$return = true,则此函数的响应将包括每个条目的值以及根据置信度是否低于最大级别返回true/false。下面是此函数响应的示例。

[
  "ip" => [
    '127.0.0.1' => false,
    '127.0.0.2' => true,
    '127.0.0.3' => false
  ]
]

getConfidenceData()

您可以在运行setConfidenceData();后运行此函数,以获取上次运行函数时保存的响应。下面是响应的示例。

[
  'email' => [
    'example@mail.com' => false,
    'example2@mail.com' => true,
    'example3@mail.com' => false
  ]
]