


Collection of commonly used security filtering functions in PHP, collection of PHP functions_PHP tutorial
A collection of commonly used security filtering functions in PHP, a collection of PHP functions
Although various development frameworks provide us with good security methods, we still need to pay attention to security issues.
The reason is simple: many small functions and projects do not use the framework, and we need to solve security issues ourselves!
①What are the commonly used security functions:
mysql_real_escape_string()
addslashes()
②The functions of these functions:
The mysql_real_escape_string() and addslashes() functions both escape single quotes and double quotes in the data! That is to prevent sql injection!
But mysql_real_escape_string() takes the character set into consideration and is safer!
After consulting relevant information, we can draw a conclusion: If the current character set is single-byte, these two functions have the same effect and can both play the role of escape filtering. However, who would just use single-byte? ? Especially utf8 is becoming more and more widely used!
③Usage of function:
When understanding the usage of the two functions mysql_real_escape_string() and addslashes(), we must first understand the meaning of the other two functions!
get_magic_quotes_gpc() and get_magic_quotes_runtime(), let’s compare the similarities and differences between the two functions:
Same as:
a. Both are used to obtain the configuration of the php.ini configuration file! Returns 1 when turned on and 0 when turned off!
b. When turned on, data within the specified range will be escaped and filtered!
Different:
a. The two have different scopes of action:
magic_quotes_gpc mainly functions on the web client. Simply put, it mainly filters the data in $_GET, $_POST, and $_COOKE!
magic_quotes_runtime mainly filters the data read from the file or the data obtained from the database query!
b. Different setting times:
magic_quotes_gpc cannot be set at runtime [This setting can only be read when restarting the server]
magic_quotes_runtime can be set at runtime!
Note: The so-called runtime setting means that we can set the configuration in the php.ini file in the script through the ini_set() function!
After understanding the two functions get_magic_quotes_gpc() and get_magic_quotes_runtime(), we should understand: when we detect that the php.ini configuration file has enabled magic_quotes_runtime and magic_quotes_gpc, the data within the specified range will be automatically transferred. righteous! If it is turned off, we need to use mysql_real_escape_string()[or addslashes function for filtering]
④Example:
1. Regardless of whether magic_quotes_gpc and magic_quotes_runctime are turned on or off, the getdata.php script can safely transfer data. The content is as follows:
If(!get_magic_quotes_gpc()) {
foreach($_GET as $key=> &$value) {
$value = mysql_real_escape_string($value);
}
}
If(!get_magic_quotes_runtime()) {
$sourceDataRecord= file('./sourceData.txt');
if($sourceDataRecord) {
foreach($sourceDataRecord as $sourceKey => &$sourceValue) {
$sourceValue = mysql_real_escape_string($sourceValue);
}
}
}
$gpcData = implode("t", $_GET);
$runtimeData = implode("t", $sourceDataRecord);
echo $gpcData, $runtimeData;
?>
The content in sourceData.txt is as follows:
" It's anoterh sunday afternoon
I'm trunning turning.....turning around "
The url when we request getData.php is as follows:
php.test.com/safe/getdata.php?name=maw'eibin&age=25
The execution results are as follows:
maw'eibin 25" It's anoterh sunday afternoonrn I'm trunning
turning....turning around "
⑤Reference materials:
http://www.bkjia.com/article/35868.htm
As you said, security filtering is necessary to restrict user behavior for the sake of security. What kind of users do you think this restriction targets? is a user who intentionally compromises the security of the website. To give a few examples:
Filter the html tags in the title. Because titles are generally plain text, 1. html tags will cause layout confusion 2. Will contain dangerous scripts 3. Encoding characters such as quotation marks into html entities will not affect its final display effect;
replace the < in the text script> tags are filtered out. Because ordinary users will not execute scripts at all. So we generally have two approaches: 1. Remove the script, 2. Encode the tag with HTML entity characters, so that the code snippet can be displayed without executing the code when the article is displayed;
filters the single quotes of the query parameters. This is to prevent sql injection. There are generally three methods to achieve this: 1. Add backslashes to the quotes 2. Remove the quotes 3. Use sql's prepare to dynamically bind parameters;
In short, do not trust any user input, restrictions Or for more ordinary users to better use our services.
addslashes()
mysql_real_escape_string
Used for security filtering when inserting into the database, usually transcoding
htmlspecialchars: There are also some functions in the html series. The one you mentioned is one of the mid-term 1. This is encoding when the data is output to the browser or terminal to prevent the output data from containing malicious js code or other codes and transcoding
strip_tags: This is to remove some html tags , and some PHP tags, you can decide where to use them... You can use them wherever you want to filter these tags

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
