Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gongo/merciful-polluter
Emulate "register_globals" and "magic_quotes_gpc"
https://github.com/gongo/merciful-polluter
Last synced: about 4 hours 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 (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-05-14T14:41:34.000Z (6 months ago)
- Last Synced: 2024-09-24T05:47:52.163Z (about 2 months ago)
- Language: PHP
- Homepage: https://packagist.org/packages/gongo/merciful-polluter
- Size: 50.8 KB
- Stars: 17
- Watchers: 3
- 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.
![CI status](https://github.com/gongo/merciful-polluter/actions/workflows/ci.yml/badge.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/gongo/merciful-polluter/badge.png?branch=master)](https://coveralls.io/r/gongo/merciful-polluter?branch=master)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/gongo/merciful-polluter/badges/quality-score.png?b=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.