php字符串长度

php strlen()函数 语法

天大地大妈咪最大 提交于 2019-12-05 02:36:42
php strlen()函数 语法 作用: 返回字符串的长度。 大理石平台价格 语法: strlen(string) 参数: 参数 描述 string 必需。规定要检查的字符串。 说明: 返回字符串的长度。 php strlen()函数 示例 <?php echo strlen("I love php!"); ?> 来源: https://www.cnblogs.com/furuihua/p/11898435.html

php strcspn()函数 语法

不想你离开。 提交于 2019-12-05 02:35:22
php strcspn()函数 语法 作用: 输出在字符串中找到某字符之前查找的字符数。 直线电机参数 语法: strcspn(string,char,start,length) 参数: 参数 描述 string 必需。规定要搜索的字符串。 char 必需。规定要查找的字符。 start 可选。规定在字符串中何处开始查找。 length 可选。规定字符串的长度(搜索多少字符)。 说明: 返回在找到任何指定的字符之前,在字符串查找的字符数(包括空格)。 php strcspn()函数 示例 <?php echo strcspn("Hello php.cn!","p"); ?> 来源: https://www.cnblogs.com/furuihua/p/11898349.html

php substr_replace()函数 语法

只愿长相守 提交于 2019-12-04 23:57:48
php substr_replace()函数 语法 作用: 替换字符串中某串为另一个字符串 大理石平台价格 语法: substr_replace(string,replacement,start,length) 参数: 参数 描述 string 必需。规定要检查的字符串。 replacement 必需。规定要插入的字符串。 start 必需。规定在字符串的何处开始替换。正数 - 在字符串中的指定位置开始替换,负数 - 在从字符串结尾的指定位置开始替换,0 - 在字符串中的第一个字符处开始替换。 length 可选。规定要替换多少个字符。默认是与字符串长度相同。正数 - 被替换的字符串长度,负数 - 表示待替换的子字符串结尾处距离 string 末端的字符个数。0 - 插入而非替换 说明: 把字符串的一部分替换为另一个字符串。如果 start 参数是负数且 length 小于或者等于 start,则 length 为 0。该函数是二进制安全的。 来源: https://www.cnblogs.com/furuihua/p/11889577.html

php wordwrap()函数 语法

痴心易碎 提交于 2019-12-04 20:12:54
php wordwrap()函数 语法 wordwrap()函数怎么用? wordwrap()函数表示按照指定长度对字符串进行折行处理,语法是wordwrap(string,width,break,cut),若函数成功执行,则返回折行后的字符串,如果失败,则返回false。 作用: 按照指定长度对字符串进行折行处理 语法: wordwrap(string,width,break,cut) 参数: 参数 描述 string 必须,规定要进行折行的字符串 width 可选,规定最大行宽度,默认是75 break 可选,规定作为分隔符使用的字符(字符串断开字符),默认是“\n”。 cut 可选,规定是否对大于指定宽度的单词进行折行:false -- 默认,no-wrap。true -- 折行。 说明 :若函数成功执行,则返回折行后的字符串,如果失败,则返回false。 大理石构件怎么样 php wordwrap()函数 示例 <?php $i = "I love programming. It's fun."; $j = wordwrap($i,10,"<br>\n",true); echo $j; ?> 来源: https://www.cnblogs.com/furuihua/p/11881256.html

PHP常用字符串函数总结

我们两清 提交于 2019-12-03 20:29:05
PHP语言中的字符串函数也是一个比较易懂的知识。今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库。 1、查找字符位置函数 strpos($str,search,[int]):查找search在$str中的第一次位置从int开始; stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感 strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int 2、提取子字符函数(双字节) submit($str,int start[,int length]):从$str中strat位置开始提取[length长度的字符串]。 strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。 stristr() 功能同strstr,只是不区分大小写。 strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名 3、替换字符串的PHP字符串函数 str_replace(search,replace,$str):从$str中查找search用replace来替换 str_irreplace(search,replace,$str): strtr(

PHP字符串操作

我们两清 提交于 2019-12-03 17:27:14
一,字符串定义的方法 1,使用单引号和双引号定义字符串 双引号中的内容是经过php语法分析器解析过的,变量在双引号中都会被转换成它的值输出显示,而单引号中的内容即是"所见即所得"无论有无变量都会被当作普通字符串输出。 <?php header("Content-Type: text/html;charset=utf-8"); $i = "PHP"; $m = 'i love $i'; $n = "i love $i"; echo $m; echo "<br>"; echo $n; ?> 这里的输出就很明显的分辨出单引号和双引号的区别了 i love $i i love PHP 2,使用定界符定义字符串 定界符 <<< 用户定义格式化的大文本。 格式如下 <<<str 格式化的文本 str 格式化的文本是指:文本中的格式将被保留,文本中不需要使用转义字符。 例, <?php $str = '这是一个字符串'; echo <<<strmark $str,仅仅是一个字符串 strmark ?> 结果输出:这是一个字符串,仅仅是一个字符串 <<< 表示定界符,必须使用。 strmark 为标识符,可以自定义,第一个标识符写在定界符之后(不能换行),第二个标识符要顶格写(必须开头,不能缩进),前后标识符必须相同。 定界符内不能添加注释。 定界符中的字符串支持单引号,双引号

CTF-代码审计(2)

匿名 (未验证) 提交于 2019-12-02 23:43:01
1.bugku 备份是个好习惯 网址:http://123.206.87.240:8002/web16/ 拿到源码: <?php /** * Created by PhpStorm. * User: Norse * Date: 2017/8/6 * Time: 20:22 */ include_once "flag.php"; ini_set("display_errors", 0); php 得substr() 这里省略了第三个参数 长度,所以从第一个开始截取到最后; 把hello world里面得world换成shanghai // 这里把输入得参数用空字符串去代替了key,所以需要双写key绕过 echo md5($key1); echo md5($key2); if(md5($key1) == md5($key2) && $key1 !== $key2){ echo $flag."取得flag"; } ?> ?kkeyey1=240610708&kkeyey2=aabC9RqS eval命令执行漏洞,构造payload得方法太多,推荐这个博客 :https://blog.csdn.net/xuchen16/article/details/82734758

PHP细节,PHP手册中常见的一句话:该函数是二进制安全的

匿名 (未验证) 提交于 2019-12-02 22:11:45
以下内容转自 http://wuxinjie.github.io/php-02/ 在看PHP手册的时候,经常看到一句话”该函数是二进制安全的”。 二进制安全是什么呢? 他是如何实现的? 二进制安全是什么? 先看一段代码: 1 <? php 2 $string1 = "Hello" ; 3 $string2 = "Hello\0Hello" ; 4 echo strcoll ( $string1 , $string2 ); /*返回0, 由于是非二进制安全,误判为相等 */ 5 echo strcmp ( $string1 , $string2 ); /*返回<0,不相等*/ 6 ?> 这是为什么呢?PHP是基于C实现的,PHP代码都会被zend引擎编译成opcode,最终作为C语言去执行。 而对于c语言‘\0’是字符串的结束符,它读到’\0’就会默认字符读取已经结束,从而抛掉后面的字符串。 1 //这里是C语言哦! 2 main (){ 3 char ab [] = "Hello" ; 4 char ac [] = "Hello\0Hello" ; 5 strcmp ( ab , ac ); /*返回0, 由于是非二进制安全,误判为相等 */ 6 } 有一个二进制安全的定义,我挺喜欢的: 程序不会对其中的数据做任何限制、过滤、或者假设 ―― 数据在写入时是什么样的,

CTF中常见的PHP漏洞

匿名 (未验证) 提交于 2019-12-02 22:11:45
1.MD5()漏洞 php在处理字符串时会利用!=,||,==进行hash值的比较 他把每一个“0E’开头的哈希值都解释为0,因此如果两个不同的密码经过hash处理之后都是以‘0e’开头,那么PHP会认为两者是相同的,南京邮电大学一次ctf上就出了一道这个题。一些经md5()后以0e开头的例子 s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387a 0e848240448830537924465865611904 s214587387a 0e848240448830537924465865611904 验证一下这个现象。 <?php if(md5("s155964671a")==md5("s214587387a")) { echo "successful"; } ?> 说到md5就还有一个经典案例就是 数组的MD5值都相等 都为NULL, 这里写了一小段代码 <?php if(isset($_GET['hsy']) and isset($_GET['zyg'])){ if($_GET['hsy']!=$_GET['zyg']) { if(md5($_GET['hsy'])==md5($_GET['zyg'])) echo "yes";

PHP代码审计基础-初级篇

喜夏-厌秋 提交于 2019-11-30 19:25:28
对于php代码审计我也是从0开始学的,对学习过程进行整理输出沉淀如有不足欢迎提出共勉。对学习能力有较高要求,整个系列主要是在工作中快速精通php代码审计,整个学习周期5天 ,建议花一天时间熟悉php语法。 我是直接phpstudy2019一键搭建小白首选 所谓工欲善其事必先利其器,找一款适合自己的php开发工具自行百度搭建,我用的是phpstrom . 初级篇主要讲 1. php历史版本漏洞。 2. 变量配置缺陷。 3. 函数缺陷。 4. 弱语言缺陷。 PHP配置漏洞 我们要熟知php各版本漏洞 Register_globals 全局变量注册开关 在该选项为on情况下,会直接把用户GET,POST等方式提交的参数注册成全局变量并初始化值为参数对应的值 Php小于4.2.3默认打开 5.3废弃 5.4移除 Allow_url_include 是否允许包含远程文件 Php 5.2 后默认设置off Magic_quotes_gpc 魔术引号自动过滤 会自动在get post,cookie 变量对单引号,双引号,反斜杠,空字符的前面加反斜杠 缺陷不会过滤$_SERVER 变量 Php5.3后废弃,5.4移除 小于4.2.3 默认打开 Magic_quotes_runtime 魔术引号自动过滤 和上面一样 却是对从数据库取出的数据进行转义 防止二次注入 同样在5.4取消 Safe_mode