ht / wp-htnonce
用于改进Wordpress Nonces管理的原型。
Requires
- php: ^5.5
This package is not auto-updated.
Last update: 2024-09-29 04:25:55 UTC
README
用于改进Wordpress Nonces管理的原型。在WordPress内置Nonces生态系统之上提供了一个可扩展的验证器实现。
安装
HTNonce是一个支持Composer的WordPress插件。
- 检出
- 直接从GitHub仓库克隆项目,然后运行以下命令安装依赖项
$ composer install
- 或者,将以下行添加到现有项目的
composer.json文件的require部分
"require": { "ht/wp-htnonce": "master" }
然后运行以下命令安装依赖项
$ composer update
- 安装WordPress插件
按照以下手动插件安装部分的说明进行操作
使用方法
使用方法简单直接。有关内部功能的详细信息,请查看类源文件内的内联文档。
如果未使用,则使用上下文名称delete-post:16创建nonce,否则如果上下文名称已被另一个nonce使用,则抛出异常
<?php $nonce = new HTNonce('delete-post:16');
如果未使用,则使用上下文名称delete-post:16创建nonce,否则如果上下文名称已被另一个nonce使用,则加载现有nonce
<?php $nonce = new HTNonce('delete-post:16', HTNonce::OPTION_FORCELOAD);
或者
<?php $nonce = new HTNonce::get_nonce('delete-post:16');
如果未使用,则使用上下文名称delete-post:16创建nonce,否则如果上下文名称已被另一个nonce使用,则覆盖
<?php $nonce = new HTNonce('delete-post:16', HTNonce::OPTION_FORCECREATE);
或者
<?php $nonce = new HTNonce::new_nonce('delete-post:16');
使用上下文名称delete-post:16和默认选项(如果上下文名称已被使用,则抛出异常),使用一次性使用的验证器创建nonce
<?php $nonce = new HTNonce('delete-post:16', NULL, array(new HTNonceOnceValidator()));
初始化HTNonce实例成功后,可以以下方法利用
为当前nonce实例创建url
<?php $my_url = $nonce->create_url('http://www.mysite.com/posts/15?action=delete');
这将返回类似http://www.mysite.com/posts/15?action=delete&HTN_=z3asv3rt2d的url
要为当前nonce创建html输入,只需调用
<?php $my_inputs = $nonce->create_input();
或者直接将输入控件渲染到html输出中
<?php $nonce->render_input();
通过以下方式验证当前实例提供的动作上下文
<?php $valid = $nonce->validate();
false的结果表示无效,1表示nonce仍然有效,并且是在最多12小时前创建的,2表示nonce仍然有效,并且是在超过12小时前创建的。
如果您希望通过其http有效载荷验证当前请求,只需调用
<?php $valid = $nonce->validate_request();
Ajax请求将自动处理。
您还可以覆盖默认的字段名以在有效载荷中查找,以及如果nonce无效要采取的操作
<?php $valid = $nonce->validate_request('my_query_field', false);
此调用将在my_query_field中查找有效的nonce散列,并且如果无效则不会die()。
结束语
此WordPress插件是为了演示目的编写的,仅应被视为非功能原型。尽管如此,此软件的任何部分都可以免费用于任何目的,无需请求许可。祝您玩得开心!