首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP零基础入门

内置函数是指PHP本身提供的各类库函数。 字符串函数库,是PHP核心的组成部分 获取字符串长度:strlen函数 int strlen(string $str) utf-8中文一个代表3个。...获取字符串位置相关函数 strpos函数,返回一个字符在另一个字符第一次出现的位置 stripos函数,同理,但是忽略大小写的 strrpos函数,返回的是一个字符串在另一个字符串最后一次出现的位置,strripos...函数忽略大小写 字符串截取函数 substr函数,用于实现截取字符串 string substr(string $string, int $start [, int $length]) $str = '...> // jpEg strstr函数,将返回一个字符串在另一个字符串中第一次出现的位置,区分大小写。同理,stristr函数忽略大小写。...strrchr函数,将返回一个字符串在另一个字符串最后一次出现的位置。 strrev函数,用于反转字符串。 md5();函数加密。 分割字符串 explode函数,使用一个字符串分割另一个字符串。

1.5K20

addslashes防注入的绕过案例(AFSRC获奖白帽子情痴)

于是就写篇基础的审计文章,在实际情况中,会出现各种各样的绕过防注入的手法,我这里只是列举了我在实际审计中遇到的比较常见的绕过方法。...> 比如说这段代码就存在宽字节注入,或者是在使用iconv,mb_convert_encoding转换字符编码函数导致宽字节注入,来一个自己审计中发现的宽字节注入案例 elseif($act == 'get_company...,$key); $key这个可控变量在addslashes之后用iconv函数转换编码,造成宽字节注入 ?...最后再举一个字符截断绕过addslashes的案例,这个个人觉得比较有趣 这套系统也是通过addslashes来防御sql注入的 ..........$_POST[“content”]第两百个字符设置成’,然后被addslashes后就变成\’,然后进过substr函数,只截取前两百个字符,\留下了,’因为是第201个,所以就没被截取下来。

4K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    3分钟短文 | PHP 如何优雅地获取文件扩展名?别再explode了

    引言 通常文件扩展名在Linux系统上是没有意义的,仅是用来标记该文件属于哪种类型?但是大多数,我们从浏览器上访问Web程序。...如果文件名字符串比较特殊,这样的程序会不会 explode 失败返回 False?从而抛出异常? 有可能会!所以这个写法是有 bug 的。 PHP 都准备好函数了!...PHP 是一个工具箱,内置了无数实用的函数。有一个函数就是专门设计来解决这个需求的:pathinfo。...用 PHP 自带的函数实现这个功能本来就有 N 多个办法。下面我们贴几个看起来还不错的轮子。最起码容错性比最上面的那个写法高一些。...写在最后 比较来比较去,还是 pathinfo 最香。 因为这就是 PHP 官方给定的方式,为啥不用?

    75230

    php 笔记 原

    配置php 开发IDE      (1)首先配置环境变量 在系统变量中添加php的路径E:\wamp\bin\php\php5.5.12      (2)打开sublime -> Tools -...; 代码将输出:12 strpos() 函数用于在字符串内查找一个字符或一段指定的文本。 echo strpos("Hello world!"...,"\\");//斜线最后一次出现的位置7 strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))// substr截取部分字符串 使用 PHP...使用PHP stripslashes()函数去除用户输入数据中的反斜杠 (\) $data = htmlspecialchars($data); htmlspecialchars() 函数把一些预定义的字符转换为...7、数组分类与用法 数值数组 - 带有数字 ID 键的数组 关联数组 - 带有指定的键的数组,每个键关联一个值 多维数组 - 包含一个或多个数组的数组  遍历数值数组 <?

    1.2K20

    php 字符串替换中文,PHP中文字符串替换其中为*的方法

    大家好,又见面了,我是你们的朋友全栈君。 在项目中需要对字符串的部分进行隐藏或者替换。譬如手机号码的中间几位进行隐藏,中文名字的中间替换为*号等。 英文和数字等可直接用php的自带的函数进行处理。...但是中文因为编码的缘故会出现不一样的效果。需要自己定义方法进行处理。此处针对大多数UTF-8的用户。 //英文和数字等 substr_replace() 函数把字符串的一部分替换为另一个字符串。...****4999 //对于UTF-8的中文 //使用该方法可以替换中文字符串的内容–使用方法类似于substr_replace_cn //在utf-8下一个汉字占三个字节 //$repalce 为要替换成的字符串...此处编码要与下面mb_substr()所使用的一致 if(count) { return !...string; } if($len == 0){ end = count; //传入0则替换到最后 }else{ end = start + } $i = 0; $returnString =

    7.9K20

    php截取字符串几个实用的函数

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说php截取字符串几个实用的函数,希望能够帮助大家进步!!! 1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串 php echo mb_substr("php点点通",1,3,"UTF-8");//hp点 ?...> 代码如下: substr(string,start,length) 其中start的参数 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始...*#s', '1',str); } echo utf8Substr("php点点通",1,5);//hp点点通 ?> (3)支持 utf-8、gb2312都支持的汉字截取函数  php //同时支持 utf-8、gb2312都支持的汉字截取函数 ,默认编码是utf-8 function cut_str(string, sublen, start =0, code ='UTF-8

    1.2K20

    bugku—Web_Writeup

    ,因为没有预定要删的字符,所以会删除全部字符 // 处理一个文本文件中的数据读入进一个字符串中,利用上述两个函数进行格式处理 // 结合 $c 变量最后得到的字符串就是一个空内容 ==...> 综合分析: PHP源码表达的flag显示是在通过 isset(a) 和 a == 我们需要的就是构造一个变量a给php源码,然而变量c在函数的联合下,变量C的内容是空的,于是我们构造一个URL并且... </for 从源码和页面可以初步认为,是需要提交一个数字被md5函数处理后再被substr函数处理的结果与7fdaf4形成相等。...PHP substr()函数: substr( string , start , length) 返回String字符串中从start开始,length长度的字符串 综上,就是对MD5进行截断比较...,Vim的备份文件符号“~” 结合页面提示“来错了地方”,表示页面没错但是位置错了: http://123.206.31.85:10015/index.php~ ps原页面的地址是1ndex.php留下了一个小小的坑哦

    1.2K20

    【php快速入门】学习笔记

    注:最后有面试挑战,看看自己掌握了吗 文章目录 前言 PHP和HTML混合编写 单/双引号包围法,在PHP中输出HTML代码 使用HEREDOC/NOWDOC在PHP中输出HTML代码 php插入html...php OutputContent(); ?> 自从PHP5.4开始,即使在短标记关闭的情况仍然可以使用。...因此,在HTML中嵌入PHP变量时使用这种短标记输出语法将会相当方便。 使用 <?= php插入html php中文乱码 带有…的参数,表示可以传任意多个参数。 6.带有callback的参数,表示回调函数。需要传一个函数进来。...获取 iconv 扩展的内部配置变量 mb_substr_count 统计字符串出现的次数 mb_check_encoding 检查字符串在指定的编码里是否有效 mb_strrpos 查找字符串在一个字符串中最后出现的位置

    3.7K30

    Smarty模板引擎

    因为静态文件中没有类、函数的定义,使用include可以降低服务器压力(我自己猜的。。。)。 2、如何完全去除视图文件中的PHP标记? 首先,视图中的典型PHP代码是这样的:**php echo $name ?>** 再者,前端工程师能看得懂的、比较喜欢的HTML标签形式的代码是这样的:{$name} 最后,我们把 {name} 替换成 <?...来访问数组元素; 在Smarty模板中,使用"->"来访问对象的属性和方法。 PHP文件: php // 引入Smarty类 include_once('....’} 3、date_format调节器参数及应用 4、truncate调节器参数及应用 smarty中的truncate调节器,对应PHP的substr()函数或mb_substr()函数。...substr()函数是按字节截取字符串; mb_substr()函数是按字符截取字符串,但需要开启PHP的扩展。 ----- END -----

    4.7K70

    PHP全栈学习笔记23

    PHP标记,注解,常量,预定义变量,变量,数据类型,转换,运算符。...stripslashes()函数对转义后进行还原 截取字符串 substr()函数从0开始,进行截取字符串要注意编码格式,切记页面编码不能设置为utf-8,如果页面是utf-8编码格式,那么就使用...substr_replace()函数 substr_replace()函数对指定字符串中的部分字符串进行替换。...检索字符串 strstr()函数和substr_count()函数 strstr()函数获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。...> substr_count()函数 获取子串在字符串中出现的次数 ltrim()函数和rtrim()函数 trim()函数用于去除字符串开始位置和结束位置的空白字符,并返回去掉空白字符后的字符串。

    3.7K30

    PHP笔记

    正则 文件读写 使用数学函数获取随机验证码 正则 文件读写 PHP 一、什么是PHP PHP(Hypertext Preprocessor)即超文本预处理器,是在服务器中执行的脚本语言,WEB开发可以并入...选择中文 其中,可以访问的页面在www文件夹中,默认执行index.php文件 启动时可能会遇见的问题 因为wampserver的默认启动服务器是80,并且若本机上下载sql server 数据库时,...> 适用于多文本行输出 其中值得注意的是 两个标记符之间不能有空格,进一步说明 第一个sst标记符后面不能存在空格 第二个sst标记符前面不能存在空格 还有标识符号可以取除了关键字以外的所有字符,但必须保证上下标记符保持一致...php $str ="php.web"; echo substr($str,0,3); ?> 结果打印php 打印汉字个数 mb_substr(); php header("Content-type:text/html;charset=UTF-8;"); $str ="耗子尾汁"; echo mb_substr($str,0,2

    21410

    跟我学习php字符串常用函数-下篇

    或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。..., 和文件编码方式有关系 header('content-type: text/html; charset=utf-8;'); $str = "做人不能欺骗自己"; echo mb_substr($str...] ) 查找字符串首次出现的位置 $haystack, 在hanstack字符串中查找 $needle, 查找什么字符 $offset, 查找的起始索引 返回, 成功返回对应的索引位置,没查到返回...$length ] ) 截取字符串 start, 起始索引 $length, 截取的长度,不写截取到最后 $str = 'a/b.txt'; echo substr($str, strpos($...str_ireplace函数忽略大小写 $search, 要被替换的字符或字符串 $replace, 替换的心字符或字符串 $subject, 替换的对象,即总字符串 $count, 替换发生的次数

    45020

    DedeCMS v5.7 SP2后台SSTI到RCE再到GetShell

    dedecms模板格式且带有runphp="yes"标签的代码实现模板注入,并且可由此实现RCE与Getshell 漏洞分析 在漏洞利用过程中我们选择的模板页面未网站首页,下面以加载模板首页为例进行正向分析...之后在L17引入了/include/common.inc.php文件,该文件定义了DedeCMS的一些相关配置,在本漏洞中较为重要的为cfg_basedir以及cfg_templets_dir,具体配置如下所示...之后在index.php中会通过数据库查询来获取homepageset的数据信息,并且将templet字段的值作为参数传递给MfTemplet函数: ?...此时的MfTemplet函数如下所示: ? 之后在index.php中会初始化一个PartView类并调用SetTemplet函数,并传入template的相对网站根目录的物理路径信息: ?...此时的$this-dtp在构造函数中被初始化为一个DedeTagParse类的实例对象,所以此时调用的为DedeTagParse的loadTemplet函数,之后跟进该函数: ?

    8.6K20

    PHP 之道笔记整理:最佳实践与安全指南

    截至本文写作时,PHP 的当前稳定版本是 8.3。PHP 8.3 相较于老旧版本(比如,PHP 5.6)在性能上有了显著的提升,并且加入了很多新的特性和语法糖,同时做了向下兼容处理。...日期和时间在 PHP 开发中,经常需要处理日期和时间。PHP 的 DateTime 类提供了一个面向对象的接口,让日期和时间的读取、写入、比较和计算变得更加简单。...PHP 层面的 UTF-8为了正确处理 UTF-8 字符串,我们应该使用 mb_* 函数替代传统的字符串操作函数。例如,使用 mb_substr() 替代 substr() 来避免潜在的乱码问题。php$str = '这是一个测试字符串';echo substr($str, 0, 7); // 可能会乱码echo mb_substr($str, 0, 7, 'UTF-8'); // 正确的做法记住...,在处理 UTF-8 字符串时使用 mb_* 函数,是保障数据完整性和避免乱码的有效方法。

    17110
    领券