PHP uses regular to determine whether it is a number method, PHP determines the number method
Two days ago a friend of a website on the use of PHP injection to submit flash game scores, and then find the reason to find that there is a parameter did not do the number of judgments caused.
Originally saved the game score is game.php?ac=save&fgid=1 this form to realize, in the PHP page inside Fgid Direct call, did not do any filter. Many people use a letter (FGID=1A) behind the fgid=1 to implement some illegal operations.
If Gamlist table has a game fgid for 102
Select Gname from gamelist where fgid= ' 102′;
Select Gname from gamelist where fgid= ' 102a ';
This will be successful to find the game name Gname, which gives a lot of people the opportunity
We recommend that you filter the key parameters. If the digital regular filter
Copy the Code code as follows:
if (Preg_match ("/^\d*$/", $fgid)) echo (' is number ');
else echo (' not a number ');
or with a function
Copy the Code code as follows:
if (Is_numeric ($fgid)) echo (' is number ');
else echo (' not a number ');
A way to determine if an ID is a number on the Internet
Copy the Code code as follows:
$cid = Empty ($cid)? 1:intval (Preg_replace ("/[^-\d]+[^\d]/", "", $cid));
The difference between the two methods is that the Is_numeric decimal is also considered a number, whereas the preceding one treats the decimal point as a character.
Some common regular operations are included:
Verification Number: ^[0-9]*$
To verify N-bit numbers: ^\d{n}$
Verify that at least n digits: ^\d{n,}$
Verify the number of m-n bits: ^\d{m,n}$
Verify numbers starting with 0 and non 0: ^ (0|[ 1-9][0-9]*) $
Verify that there is a positive real number with two decimal places: ^[0-9]+ (. [ 0-9]{2})? $
Verify that there is a positive real number with 1-3 decimal places: ^[0-9]+ (. [ 0-9]{1,3})? $
Verify non-zero positive integers: ^\+? [1-9] [0-9]*$
To verify a nonzero negative integer: ^\-[1-9][0-9]*$
Validates non-negative integers (positive integers + 0) ^\d+$
Validates a non-positive integer (negative integer + 0) ^ ((-\d+) | ( 0+)) $
Verify the character with a length of 3: ^. {3}$
Validates a string consisting of 26 English letters: ^[a-za-z]+$
Validates a string consisting of 26 uppercase English letters: ^[a-z]+$
Validates a string consisting of 26 lowercase English letters: ^[a-z]+$
Validates a string consisting of a number and 26 English letters: ^[a-za-z0-9]+$
Validates a string consisting of a number, 26 letters, or underscores: ^\w+$
Verify user password: ^[a-za-z]\w{5,17}$ the correct format is: Start with a letter, the length is between 6-18, and can contain only characters, numbers, and underscores.
Verify that it contains ^%& ',; =?$\ ' characters:[^%& ', =?$\x22]+
Verify Kanji: ^[\u4e00-\u9fa5],{0,}$
Verify email Address: ^\w+[-+.] \w+) *@\w+ ([-.] \w+) *\.\w+ ([-.] \w+) *$
Verify interneturl:^http://([\w-]+\.) +[\w-]+ (/[\w-./?%&=]*)? $; ^[a-za-z]+://(w+ (-w+) *) (. ( w+ (-w+) *) * (? s*)? $
Verify the phone number: ^ (\ (\d{3,4}\) |\d{3,4}-)? \d{7,8}$:– the correct format is: xxxx-xxxxxxx,xxxx-xxxxxxxx,xxx-xxxxxxx,xxx-xxxxxxxx,xxxxxxx, XXXXXXXX.
Verify your Social Security number (15-bit or 18-digit number): ^\d{15}|\d{}18$
Validation 12 months of the year: ^ (0?[ 1-9]|1[0-2]) $ correct format: "01"-"09" and "1" "12"
Verify one months of 31 days: ^ ((0?[ 1-9]) | ((1|2) [0-9]) |30|31) $ The correct format is: 01, 09 and 1, 31.
Integer: ^-?\d+$
Non-negative floating-point number (positive floating point + 0): ^\d+ (\.\d+)? $
Positive floating-point number ^ ([0-9]+\.[ 0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*)) $
Non-positive floating-point number (negative floating point + 0) ^ ((-\d+ (\.\d+)?) | (0+ (\.0+)?)) $
Negative floating-point number ^ (-([0-9]+\.[ 0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*))) $
Floating point ^ (-?\d+) (\.\d+)?
http://www.bkjia.com/PHPjc/1113690.html www.bkjia.com true http://www.bkjia.com/PHPjc/1113690.html techarticle PHP with regular judgment is the method of numbers, PHP judge the number method two days before a friend of the site on a website someone using PHP injection to submit flash game scores, and then find the reason to find that there is a ...