shieldfy/sniffer

嗅探输入类型

1.1.3 2017-08-03 12:07 UTC

This package is not auto-updated.

Last update: 2024-09-24 23:37:57 UTC


README

Shieldfy Sniffer 是一个小型 Composer 包,用于检测输入类型,目前支持 4 种类型(整数、字符串、JSON、序列化)

Packagist License Code Climate Travis

安装

通过 Composer

composer require shieldfy/sniffer

用法及示例

$type = (new \Shieldfy\Sniffer\Sniffer)->sniff('12.5'); //number

$type = (new \Shieldfy\Sniffer\Sniffer)->sniff('hello world'); //string

$type = (new \Shieldfy\Sniffer\Sniffer)->sniff(json_encode(['hello'=>1,'world'=>'!'])); //json

$type = (new \Shieldfy\Sniffer\Sniffer)->sniff(serialize(['hello'=>1,'world'=>'!'])); //serialize

//you can add more than value as array
$type = (new \Shieldfy\Sniffer\Sniffer)->sniff(['555','abc']);

//test against particular type
$result = (new \Shieldfy\Sniffer\Sniffer)->is('123456789','number'); //true

//you can register your own sniffer on the runtime
$type = (new \Shieldfy\Sniffer\Sniffer)->register('hello',function($input){
	if(strstr($input,'hello')) 
		return true;
	return false;
})->sniff('say hello world');

关于序列化的说明

序列化/反序列化可能存在危险,因为它可以转换对象,可能被用于执行对象注入攻击。因此,在 PHP 7 之前的版本中不允许显式嗅探,因为 PHP 7 提供了新的选项来防止对象序列化,请参阅此处

贡献

感谢您考虑为这个项目做出贡献!我们非常欢迎错误报告、功能请求和拉取请求。

安全漏洞

如果您在此项目中发现了安全漏洞,请发送电子邮件至 security@shieldfy.com