ympervej/wp-oop-nonces-csrf

此包最新版本(1.0.0)没有提供许可证信息。

此包可以在面向对象的环境中启用WordPress的nonce功能

安装: 8

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

公开问题: 0

类型:wordpress-package

1.0.0 2018-01-19 09:43 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:14:36 UTC


README

#WordPress 面向对象环境中的 Nonces

一个 composer 包,用于在面向对象环境中处理 WordPress Nonces 的功能。

#要求

Wordpress Version: Minimum 4.8
PHP Version: Minimum 5.6
PHP Unit Version: 5

#安装 在您的 composer.json 文件中将此包添加为要求,然后运行 'composer update'

"ympervej/wp-oop-nonces-csrf": "1.0.*"

或者直接运行

composer require ympervej/wp-oop-nonces-csrf

##使用方法

添加到 active 主题的 functions.php 中

// Autoload files using Composer autoload
require __DIR__ . '/vendor/autoload.php';

##示例

###创建一个 nonce

这将创建一个与特定操作关联的加密令牌

####### 参数 string 或 int $action 附加上下文的标量值。 ####### 返回令牌。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_create = $Wp_Csrf_Nonce->wp_oop_create_nonce( $action );

例如

<a href='my_url.php?nonce_something=nonce_action&_wpnonce=<?php echo $csrf_nonce_create; ?>'>Your Nonce Action</a>

###验证一个 nonce

验证是否使用了正确的 nonce 并设置了时间限制。

####### 参数 $nonce 和 $action。 ####### 返回布尔值或 1。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_verify = $Wp_Csrf_Nonce->wp_oop_verify_nonce( $nonce, $action );

###将 nonce 添加到 URL

检索添加了 nonce 的 URL 查询。

####### 参数 $action_url、$action 和 $name。 ####### 返回添加了 nonce 动作的转义 URL。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_url = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_URL($action_url, $action, $name );

###将 nonce 添加到表单

检索添加了 nonce 的 URL 查询。

####### 参数 action、$name、$referer、$echo。 ####### 返回 nonce 字段 HTML 标记。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_field = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_field(action, $name, $referer, $echo );

###Ajax Nonce 验证 ###验证 AJAX 请求中传递的 nonce ####### 参数 $action、$query_arg、$die。 ####### 返回布尔值或 1。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_ajax_ref = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_checka_ajax_referer($action, $query_arg, $die);

管理 nonce 验证。

####确保用户是从另一个管理页面引用的。 ####### 参数 $action、$query_arg。 ####### 返回布尔值或 1。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_nonce_admin_ref = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_check_admin_referer($action, $query_arg);

###显示 nonce 动作消息。 ####这将显示 '您确定要执行此操作吗?' 消息以确认要执行的操作。 ####### 参数 $action。 ####### 返回布尔值或 1。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_action_text = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_ays($action);

###检索或显示表单的 referer 隐藏字段。 ####参照器链接是来自服务器超全局的当前请求 URI。 ####### 参数 $echo Boolean。 ####### 返回 referer 字段 HTML 标记。

$Wp_Csrf_Nonce = new \wp_oop_nonce_csrf\Wp_Oop_Nonces_Csrf();
$csrf_refer_field = $Wp_Csrf_Nonce->wp_oop_nonce_csrf_referer_field($echo);

如何运行单元测试

  1. 在终端运行此命令
$ CD /wordpress/your-theme-folder/wp-oop-nonces-csrf
  1. 在 dev 上安装 PHP Unit
$ composer require --dev phpunit/phpunit:~5
  1. 将测试目录从 "/vendor/ympervej/wp-oop-nonces-csrf/tests" 复制到 "your-theme-folder/wp-oop-nonces-csrf"

  2. 运行 Composer Update

$ composer update
  1. 在终端运行此命令进行测试
$ ./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/WpOopCsrfTest
  1. 您还可以使用此进行测试
$ ./vendor/bin/phpunit --bootstrap vendor/autoload.php --testdox tests

感谢

许可证

MIT