gongo / merciful-polluter
Emulate `register_globals` and `magic_quotes_gpc` in PHP 5.4 or higher
Installs: 9 937
Dependents: 0
Suggesters: 0
Security: 0
Stars: 17
Watchers: 3
Forks: 6
Open Issues: 2
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-11-14 15:52:25 UTC
README
To relieve register_globals and magic_quotes_gpc refugees.
Description
In PHP 5.4, violent directives (register_globals
and magic_quotes_gpc
) has been removed.
But there are systems that may still depend on them.
This library reproduce these features in PHP 5.4 and later. Salvation
Usage
<?php /** * example.com/?foo=3&bar=12 */ (new Gongo\MercifulPolluter\Request)->pollute(); global $foo, $bar; var_dump($foo, $bar); /** * int(3) * int(12) */
Installation
Add this lines to your application's composer.json
:
{ "require": { "gongo/merciful-polluter": "*" } }
And then execute:
$ composer install
Or install it yourself as:
$ composer require gongo/merciful-polluter
See also: https://packagist.org/packages/gongo/merciful-polluter
Features
Emulate register_globals
Add this lines to your application's entry point (like in auto_prepend_file
):
<?php $request = new Gongo\MercifulPolluter\Request; $request->pollute(); // main routine...
If use the session, call Gongo\MercifulPolluter\Session::pollute()
after session_start()
:
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"
Emulate magic_quotes_gpc
If want to apply magic_quotes_gpc
, call 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"
License
MIT License.