Get the App
SLTechnology News&Howtos  ›  Development  › 

How php shuts down magic_quotes_gpc

Shulou Source: shulou.com Published: 2022-06-02 02:07:22 10月04日 Update

Today, the editor will share with you the relevant knowledge points about how php shuts down magic_quotes_gpc. The content is detailed and the logic is clear. I believe most people still know too much about this knowledge, so share this article for your reference. I hope you can get something after reading this article. Let's take a look at it.

The way php closes magic_quotes_gpc: 1. Set the "magic_quotes_gpc" of php.ini to Off;2, and write "php_value magic_quotes_gpc Off" in ".htaccess".

This article operating environment: windows7 system, PHP7.1 version, DELL G3 computer

How does php shut down magic_quotes_gpc?

The influence of closing magic_quotes_gpc by PHP6 and PHP7 on the program

Before PHP5, magic_quotes_gpc is enabled by default. The role of magic_quotes_gpc is very subtle. I have been using PHP5 for many years. Magic_quotes_gpc is on and is usually unaffected. Until the Cookies of PHP is found, if there are punctuation marks like this, in Cookies, all these symbols will be escaped as\'.

After consulting a large amount of data, the solution is to set the magic_quotes_gpc of php.ini to Off, or not to change php.ini, set magic_quotes_gpc to Off in .htaccess, by writing in .htaccess:

Php_value magic_quotes_gpc Off

The php.ini of PHP6 and PHP7 does not have the option of magic_quotes_gpc, so it is actually turned off. After magic_quotes_gpc is closed, in order to enhance security, all the original $_ POST ['abc'] and $_ GET [' abc'] are best escaped with stripslashes (), for example:

$aa=stripslashes ($_ POST ['abc']); $aa=stripslashes ($_ GET [' abc'])

After PHP shuts down magic_quotes_gpc, there is a very special impact. For example, in the post form, if the message sent happens to have the backslash character\, if it is received with stripslashes ($_ POST ['abc']), all the backslash characters will be deleted. For example, in an important project, the submitted content is: W:\ ac3\ about, and the received content becomes: W:ac3about.

(for this effect, it is possible that the backslash will be deleted under the native PHP, and some servers will not.)

After testing, the solution is to remove the stripslashes and the backslash character will not be replaced, for example:

$aa=$_POST ['abc']

But this will lead to insecurity, and the solution is to put the submitted information

Tags: Slash influence content knowledge article information method security method state symbol escape test different big subtle special important useful for many years Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Apple Docker Linux Shulou Information macOS