使用SaFly.ORG的SaFly Request Test服务增强WordPress网站的安全性
SaFly Request Test是SaFly.ORG自主开发的一款WEB防火墙,是SaFly Cloud API代表服务之一。SaFly Request Test收纳了多个SaFly.ORG开发的防护规则集,同时支持GET和POST请求,开发者可以通过将请求内容GET或POST到SaFly Request Test。
SaFly Request Test能够识别出包括网页后门攻击、XSS攻击、SQL注入攻击、获取敏感信息攻击、系统命令执行攻击、代码执行攻击、文件包含攻击、扫描器攻击、建站 程序漏洞攻击在内的多种攻击方式。利用SaFly Request Test可以增强Wordpress等网站的安全性。
SaFly.ORG还提供免费的Gravatar缓存服务,以解决Gravatar在部分地区连接过慢的问题;SaFly Spider Analyse可用于准确识别搜索引擎,SaFly E-Mail Authenticity是一款E-Mail地址真实性检测系统。当然,这些都需要一定的开发能力才可以使用,更多在线网站服务还有:
- 1、网站性能:服务器性能管理(APM):性能魔方mmtrix一站式云评测,云监测,云加速网站
- 2、网站压力性能免费在线测试:阿里云PTS,Load Impact,loader.io服务器负载能力测试
- 3、在线测速:八个免费在线网站速度测试服务-分析影响网页加载因素提高网站访问速度
使用SaFly.ORG的SaFly Request Test服务增强Wordpress网站的安全性
1、SaFly.ORG官网:
- 1、官方网站:https://www.safly.org/
- 2、账号注册:https://juice.oranme.com/
- 3、SDK: https://blog.safly.org/safly-request-test-sdk-for-php-beta/
2、首先要拥有一个 OranMe JUICE 账号,就是注册 WordPress 账号那样简单。
3、点击邮件中的注册链接,点击成功登录后激活账号。
4、申请一对密钥,产品绑定域名可随意填写,需符合域名格式。(建议填写自己的域名,后续会有相关产品关联 )
5、然后就可以使用所有 API 服务啦。API DOC: https://blog.safly.org/category/innovate/apidoc/。目前对普通用户开放 SaFly 最为稳定、对站长有益通过的5个 API 模块,其他十余个模块对部分实验室用户开放 。
二、WordPress使用SaFly Request Test
1、先来简单介绍一下SaFly Request Test接口调用。
请求接口:
接口IPv6地址:http://ipv6.waf.name/api/saflyrequesttest/
接口TLS地址:https://tls.waf.name/api/saflyrequesttest/
接口IPv4地址:http://api.oranme.com/api/saflyrequesttest/
请求方式:GET/POST
支持格式:JSON (JavaScript Object Notation)
请求示例:http://api.oranme.com/api/saflyrequesttest/?apidomain=API KEY绑定的域名&salt=随机数&sign=签名
2、将safly-request-test-sdk.php相应部分(Your API DOMAIN,Your API KEY)修改为 OranMe JUICE 控台上您注册的 API 密钥。SaFly Request Test 调用 PHP 代码演示如下:
<?php
/*
+----------------------------------------------------------------------+
| SaFly Cloud API - SaFly Request Test Beta |
+----------------------------------------------------------------------+
| Copyright (c) 2011-2016 The SaFly Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.4.x of the SaFly license, |
| that is available through the world-wide-web at the following url: |
| https://www.safly.org/category/agreements/ |
| If you are unable to obtain it through the world-wide-web, please |
| send a note to license@safly.org, so we can mail you a copy |
| immediately. |
+----------------------------------------------------------------------+
| SaFly Cloud API SaFly Request Test 2016-01-16, |
| API Doc: https://blog.safly.org/safly-request-test/ |
+----------------------------------------------------------------------+
| Authors: SaFly Abyss.C |
| DOLPH |
| DOLXU |
+----------------------------------------------------------------------+
*/
/*make sign*/
//SaFly Cloud API Sign 2015-11-29
$saflyapidomain = 'Your API DOMAIN';
$saflyapikey = 'Your API KEY';
$saflyip = $_SERVER['SERVER_ADDR']; //Please have a test through http://api.oranme.com/developer/saflyip.php
$saflysaltstr = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890');
$saflysalt = substr($saflysaltstr, 0, 6);
$saflysign = md5($saflyapidomain . $saflyapikey . $saflyip . $saflysalt, FALSE);
//补全 API 地址
$safly_request_test_api = "http://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign";
/*使用 curl POST 请求*/
$safly_ch = curl_init();
curl_setopt($safly_ch, CURLOPT_URL, $safly_request_test_api);
curl_setopt($safly_ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($safly_ch, CURLOPT_POST, TRUE);
curl_setopt($safly_ch, CURLOPT_TIMEOUT, 10); //TIME OUT(s)
curl_setopt($safly_ch, CURLOPT_POSTFIELDS, $_REQUEST); //检验$_REQUEST
$safly_responsetmp = curl_exec($safly_ch);
curl_close($safly_ch);
/*判断返回结果*/
$safly_response = json_decode($safly_responsetmp);
if ($safly_response -> code == '000202') { //请求含嫌疑特征
//请根据业务逻辑修改返回信息
header('HTTP/1.1 400 Bad Request');
header('Content-Type: text/plain');
exit('Bad Request');
}
?>
3、在 WordPress 敏感文件(wp-login.php, wp-comments-post.php)引用即可。SUCH AS: require_once('inc/safly-request-test-sdk.php')。
1、如果添加后响应过慢,可以调节安全等级为中,将:
$safly_request_test_api = "http://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign";
2、修改为:
$safly_request_test_api = http://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign&level=medium;
3、SaFly Request Test部分服务器使用跳板机(例如阿里云的虚拟主机)访问互联网,导致$_SERVER['SERVER_ADDR'] 和出网IP不符,这需要用户通过服务器访问 http://api.oranme.com/developer/saflyip.php 获得IP,并以其显示为准。
将 $saflyip = $_SERVER['SERVER_ADDR']; 修改为$saflyip = 'IP地址';
4、SaFly 也建议能正常使用的用户也做上述改动,将 $saflyip = $_SERVER['SERVER_ADDR']; 修改为$saflyip = 'IP地址';,以提高程序效率。如果您的IP经常改变,请在后台提交工单,SaFly将免费为您提供其它非IP验证接口 。
1、本篇文章属于SaFly.ORG博主的投稿,文章言简意赅,部分操作仅有代码,没有完整的操作过程,可能对于从未使用SDK的朋友有些陌生,但是对于我们开发者来说上手应该很容易。
2、SaFly.ORG是部落这几年一直关注的网站服务之一,作为一个没有广告的服务坚持这么久纯属不易。如果你也有自己好产品、好服务,欢迎投稿分享给大家,文章文字和配图尽量丰富些。
文章出自:SaFly.ORG博主投稿 由免费资源部落编辑整理 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
您或许对下面这些文章有兴趣: 本月吐槽辛苦排行榜
-
“三、SaFly Request Test使用问题”这里可能投稿的时候邮件编辑有疏漏,$safly_request_test_api = “https://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign”;$safly_request_test_api = https://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign;重复了两次,改为$safly_request_test_api = “https://api.oranme.com/api/saflyrequesttest/?apidomain=$saflyapidomain&salt=$saflysalt&sign=$saflysign”;即可
[回复] -
前排
[回复] -
看着挺不错的,研究一下!
[回复] -
沙发来晚了。。。
[回复] -
WordPress 插件 SaFly Cloud Protection 1.7.1 已经发布,集成了 SaFly 相关产品,使用比较方便了。
[回复] -
word No you? 中文?
[回复]