https://github.com/gongo/merciful-polluter
Emulate "register_globals" and "magic_quotes_gpc"
https://github.com/gongo/merciful-polluter
Last synced: about 1 year ago
JSON representation
Emulate "register_globals" and "magic_quotes_gpc"
- Host: GitHub
- URL: https://github.com/gongo/merciful-polluter
- Owner: gongo
- Created: 2014-12-26T15:07:32.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-05-14T14:41:34.000Z (about 2 years ago)
- Last Synced: 2025-05-16T09:49:11.363Z (about 1 year ago)
- Language: PHP
- Homepage: https://packagist.org/packages/gongo/merciful-polluter
- Size: 50.8 KB
- Stars: 17
- Watchers: 2
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MercifulPolluter
====================
To relieve [register_globals](http://php.net/register_globals) and [magic_quotes_gpc](http://php.net/magic_quotes_gpc) refugees.

[](https://coveralls.io/r/gongo/merciful-polluter?branch=master)
[](https://scrutinizer-ci.com/g/gongo/merciful-polluter/?branch=master)
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
pollute();
global $foo, $bar;
var_dump($foo, $bar);
/**
* int(3)
* int(12)
*/
```
Installation
--------------------
Add this lines to your application's `composer.json`:
```json
{
"require": {
"gongo/merciful-polluter": "*"
}
}
```
And then execute:
```sh
$ composer install
```
Or install it yourself as:
```sh
$ 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
pollute();
// main routine...
```
If use the session, call `Gongo\MercifulPolluter\Session::pollute()` **after** `session_start()`:
```php
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
enableMagicQuotesGpc();
$request->pollute();
// $_GET['foo'] => "1\'2\'3"
// $foo => "1\'2\'3"
```
License
--------------------
MIT License.