gongo / merciful-polluter
在 PHP 5.4 或更高版本中模拟 `register_globals` 和 `magic_quotes_gpc`
0.0.7
2024-05-14 00:58 UTC
Requires
- php: >=5.4
Requires (Dev)
- php-coveralls/php-coveralls: *
- phpunit/phpunit: ^9 || ^7.5 || ^4.8.35
This package is auto-updated.
Last update: 2024-09-14 15:27:07 UTC
README
为缓解 register_globals 和 magic_quotes_gpc 的难民。
描述
在 PHP 5.4 中,暴力指令(register_globals
和 magic_quotes_gpc
)已被移除。但有些系统可能仍然依赖它们。
此库在 PHP 5.4 及以后的版本中重现这些功能。 救赎
用法
<?php /** * example.com/?foo=3&bar=12 */ (new Gongo\MercifulPolluter\Request)->pollute(); global $foo, $bar; var_dump($foo, $bar); /** * int(3) * int(12) */
安装
将这些行添加到您的应用程序的 composer.json
{ "require": { "gongo/merciful-polluter": "*" } }
然后执行
$ composer install
或自行安装:
$ composer require gongo/merciful-polluter
另请参阅: https://packagist.org.cn/packages/gongo/merciful-polluter
特性
模拟 register_globals
将这些行添加到您的应用程序入口点(例如 auto_prepend_file
)
<?php $request = new Gongo\MercifulPolluter\Request; $request->pollute(); // main routine...
如果使用会话,请在 session_start()
之后调用 Gongo\MercifulPolluter\Session::pollute()
session_start(); /** * $_SESSION['user_id'] = 'gongo' */ (new Gongo\MercifulPolluter\Session)->pollute(); var_dump($user_id); // string(5) "gongo" // Reference global variables to session. $user_id = 'taro'; var_dump($_SESSION['user_id']); // string(4) "taro"
模拟 magic_quotes_gpc
如果想要应用 magic_quotes_gpc
,请调用 Gongo\MercifulPolluter\Request::enableMagicQuotesGpc()
<?php /** * example.com/?foo=1'2'3 */ $request = new Gongo\MercifulPolluter\Request; $request->enableMagicQuotesGpc(); $request->pollute(); // $_GET['foo'] => "1\'2\'3" // $foo => "1\'2\'3"
许可
MIT 许可证。