phpinfo(如何将phpinfo字符串类型转换)
本文目录
- 如何将phpinfo字符串类型转换
- 如何创建phpinfo查看php信息
- 什么是phpinfo xss跨站脚本攻击漏洞
- phpinfo在哪个文件夹里能找到啊
- 如何启用phpinfo函数
- phpinfo.php这个文件什么意思,有什么用大神们
- 谈谈从phpinfo中能获取哪些值得注意的信息
- 如何进入显示PHP具体配置信息的phpinfo页面
- phpinfo怎么用
- 从phpinfo中能获取哪些敏感信息
如何将phpinfo字符串类型转换
php中iconv、mb_convert_encoding函数字符编码转换详解如下:
iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。
用法如下:
$string = “亲爱的朋友欢迎访问博客,希望给您带来一点点的帮助!“;
iconv(“utf8“,“gbk“,$string)//将字符串string 编码由utf8转变成gbk;
扩展如下:
echo [Math Processing Error]str=′好,欢迎访问博客,该博客记录一个程序员的成长过程!′;echo′《br/》′;echoiconv(′GB2312′,′UTF−8′,str); //将字符串的编码从GB2312转到UTF-8
echo ’《br /》’;
echo iconv_substr([Math Processing Error]str,1,1,′UTF−8′);//按字符个数截取而非字节printr(iconvgetencoding());//得到当前页面编码信息echoiconvstrlen(str, ’UTF-8’); //得到设定编码的字符串长度
//也有这样用的
[Math Processing Error]content=iconv(“UTF−8“,“gbk//TRANSLIT“,content);
备注:
1、iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。
如果是windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的“;“去掉,同时你要copy你的原php安装文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是这个目录,我本地的没有操作这一步)
在linux环境下,用静态安装的方式,在configure时加多一项 --with-iconv就可以了,phpinfo看得到iconv的项。(Linux7.3+Apache4.06+php4.3.2);
到此php中的iconv 介绍完毕
2、用iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。原因是这样的:
string iconv ( string in_charset, string out_charset, string str )
注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。 被截断了,当然就会少了;
可以这样修改iconv(“UTF-8“,“GB2312//IGNORE“,$string) 会忽略掉不能转化的字符;
附加:
PHP中的mb_convert_encoding与iconv函数介绍
mb_convert_encoding这个函数是用来转换编码的,和iconv函数差不多。
英文一般不会存在编码问题,只有中文数据才会有这个问题。比如用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。
做一个GBK To UTF-8
《 ?php
header(“content-Type: text/html; charset=Utf-8“); //设置字符的编码是utp-8
echo mb_convert_encoding(“你系我的友仔“, “UTF-8“, “GBK“);
?》再做GB2312 To Big5
《 ?php
header(“content-Type: text/html; charset=big5“);
echo mb_convert_encoding(“朋友“, “big5“, “GB2312“);
?》
不过要使用上面的函数需要安装但是需要先enable mbstring 扩展库,道理还是一样的,修改php.ini。
PHP中的另外一个函数iconv也是用来转换字符串编码的,与上函数功能相似。
下面还有一些详细的例子:
iconv — Convert string to requested character encoding
(PHP 4 》= 4.0.5, PHP 5)
mb_convert_encoding — Convert character encoding
(PHP 4 》= 4.0.6, PHP 5)
用法:
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding]
需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ;
去掉mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多;
那为何还要讲解 这个 mb_convert_encoding()函数呢?答案如下:
发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。
另外mb_convert_encoding没有这个bug.
一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.
如何创建phpinfo查看php信息
1、方法一:
命令行查询,如果已经配置好环境变量,直接在命令行中输入php -v,将会显示php的版本信息。如果没有配置环境变量,直接在命令行中进入到php的安装目录后,再输入命令php -v,在安装目录下输入查询命令,可以看到输出的版本信息为PHP5.3.29。
2、方法二:
(1)使用预定义常量PHP_VERSION查询,新建一个php文件,在里面输入《?php echo PHP_VERSION;?》。
(2)在浏览器中输出对应的网址,就可以查看到php的版本信息。
3、方法三:
(1)使用phpversion()函数查询,新建一个php文件,在文件中输入《?php echo phpversion();?》即可。
(2)在浏览器中访问,可以看到浏览器页面上返回的php版本信息,跟预定义常量PHP_VERSION显示效果一样。
4、方法四:
(1)使用phpinfo()函数查询,新建一个php文件,在文件中输入《?php echo phpinfo();?》即可。
(2)在浏览器中访问,可以看到不仅可以看到PHP的版本信息,还能看到其它很多关于PHP的信息。
什么是phpinfo xss跨站脚本攻击漏洞
php是一款被广泛使用的编程语言,可以被嵌套在html里用做web程序开发。phpinfo()是用来显示当前php环境的一个函数,许多站点和程序都会将phpinfo放在自己的站点上或者在程序里显示,但是phpinfo里存在一些安全问题,导致精心构造数据就可以产生一个跨站脚本漏洞,可以被用来进行攻击。
漏洞成因: phpinfo页面对输入的参数都做了详细的过滤,但是没有对输出的进行charset的指定,而在一些浏览器里如IE7里,你可以让它自动选择编码或者通过一个iframe页面给它指定编码,这样就可以饶过phpinfo的过滤而产生一个跨站脚本漏洞。
漏洞来源:
phpinfo在哪个文件夹里能找到啊
phpinfo是php内置的函数,并不存在于某个文件夹中,phpinfo用法如下:
phpinfo — 输出关于 PHP 配置的信息
bool phpinfo([ int $what = INFO_ALL])
输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
因为每个系统安装得有所不同,phpinfo() 常用于在系统上检查 配置设置和预定义变量。
phpinfo() 同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。
如何启用phpinfo函数
操作步骤:
1、打开php.ini文件;
2、把代码:disble_functions = phpinfo改写为:disable_functions = ; This directive allows you to disable certain ; functions for security reasons. It receives ; a comma separated list of function names. ; This directive is *NOT* affected by whether ; Safe Mode is turned on or off;
3、重启apache就能实现启用phpinfo()函数了。
phpinfo.php这个文件什么意思,有什么用大神们
就是个文件名而已,里面应该是写
《?php
phpinfo();
?》
这个是php内置函数,来打印本机php的信息
谈谈从phpinfo中能获取哪些值得注意的信息
PHPInfo()函数主要用于网站建设过程中测试搭建的PHP环境是否正确,很多网站在测试完毕后并没有及时删除,因此当访问这些测试页面时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。下面就来看看详细的介绍吧。
phpinfo函数
phpinfo函数 PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PHP 版本、服务器信息及环境变量、PHP 环境变量、操作系统版本信息、路径及环境变量配置、HTTP 标头、及版权宣告等信息。
其函数定义如下:
语法: int phpinfo(void);
返回值: 整数
函数种类: PHP 系统功能
例如新建一个php文件,在其中输入以下内容:
《?php phpinfo(); ?》
所以phpinfo()想必对大家都最熟悉的了,在搭建环境之后都会随后写一个phpinfo()来测试环境是否正常,很多人测试完毕忘记删除就开始部署环境了,这就造成了一些敏感信息的泄漏。那么我们能从phpinfo()中获得哪些敏感信息呢?
php版本这种就不用说了,来看一下泄漏了哪些比较敏感的信息。
还有很多写不完,去后盾人看看相关教学视频吧,希望对你有用。
如何进入显示PHP具体配置信息的phpinfo页面
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建一个php文件,例如:index.php。
2、在index.php中,输入代码:phpinfo();。
3、浏览器运行index.php页面,此时打印出了该php服务器上各个配置信息、组件信息的phpinfo页面。
phpinfo怎么用
显示PHP的当前信息,其中包括PHP扩展和编译版本,服务器信息和环境,PHP环境中,路径,主机和本地配置选项,HTTP头,PHP许可等等(详细信息可参考PHP手册)。要得到这些信息,不仅可以从浏览器中查看,还可以使用命令行在服务器上查看。
使用浏览器查看很简单,:只需要在网站目录创建一个PHP文件,使用上面提到的phpinfo()函数,如:
1:《?php
2:phpinfo();
3:?》
然互在浏览器中输入此文件路径即可查看。
在Linux服务器上,还可以使用如下命令,不用浏览网页同样可以查看PHP信息,如:
php -r ’phpinfo();’
此命令同样可以得到网页形式的结果。
扩展资料:
phpinfo使用说明:
bool phpinfo ([ int$what = INFO_ALL ] )
输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
因为每个系统安装得有所不同, phpinfo() 常用于在系统上检查 配置设置和 预定义变量。
phpinfo() 同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。
参考资料来源:百度百科-phpinfo
从phpinfo中能获取哪些敏感信息
一、绝对路径(_SERVER[“SCRIPT_FILENAME”])
这个是最常用,也是最有效的一个办法,找到phpinfo()页面可以直接找到网站的绝对路径,对于写shell和信息搜集是必不可少的。
二、支持的程序
可以通过phpinfo()查看一些特殊的程序服务,比如redis、memcache、mysql、SMTP、curl等等如果服务器装了redis或者memcache可以通过ssrf来getshell了,在discuz中都出现过此类问题。如果确定装了redis或memcache的话,在没有思路的情况下,可以着重找一下ssrf
三、泄漏真实ip(_SERVER[“SERVER_ADDR”]或SERVER_ADDR)
有时候通过phpinfo()泄漏的ip可以查查旁站、c段什么的,直接无视cdn,百事不灵。
四、GOPHER
也算是ssrf一部分吧,或者说主要靠ssrf利用起来,如果支持gopher,ssrf便没有压力咯
五、fastcgi
查看是否开启fastcgi和fastcgi的版本,可能导致解析漏洞、远程命令执行、任意文件读取等问题
六、泄漏缓存文件地址(_FILES[“file1”])
向phpinfo() post一个shell可以在_FILES[“file1”]中看到上传的临时文件,如果有个lfi,便可以直接getshell了。
七、一些敏感配置
allow_url_include、allow_url_fopen、disable_functions、open_basedir、short_open_tag等等
比如allow_url_include可用来远程文件包含、disable_functions用来查看禁用函数,绕过执行、查看是否开启open_basedir,用p牛的绕过open_basedir的方法有可能能读一些没权限的目录等等。
此外还能获取一些环境信息,比如Environment中的path、log等
本文相关文章:
字符串常量池(在java中为什么String字符串可以作为对象来管理)
2024年7月18日 20:02
字符串转数组 js(JS中如何把JSON格式的字符串转化为一个对象或数组呢)
2024年7月16日 15:14
截取字符串中的数字(EXCEL中如何快速提取字符串中不规则位置的数字)
2024年7月8日 01:11
截取字符串中的数字(EXCEL中如何快速提取字符串中不规则位置的数字)
2024年7月8日 01:11
js数组查找(javascript 从数组中查找字符串的位置)
2024年6月28日 17:33
stripslashes(PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例)
2024年6月27日 01:10
matlab中文论坛(matlab怎样能去掉字符串中的空格 – MATLAB中文论坛)
2024年6月13日 07:05
stringtokenizer(在java中为什么String字符串可以作为对象来管理)
2023年11月28日 03:20
c语言scanf用法注意事项(C语言中用scanf函数输入字符时,为什么要在输入控制符%c前面加空格用scanf还有哪些要注意)
2023年5月10日 21:00
更多文章:
extractor是什么意思(self-extractor是什么意思)
2024年4月30日 16:58
mui框架实现微信小程序(muiu13打开微信小程序就卡死)
2024年7月5日 16:15
北京时间秒钟在线显示精确到毫秒(现在几点了 北京时间现在几点了,精确到毫秒,准确一定采纳)
2023年12月28日 07:40
php+mysql网站开发下载dw(dw中php怎么连接mysql数据库)
2024年7月17日 04:24
asp下载不下来(ASP文件下载问题:总是出现不存在此文件,为什么呀)
2024年6月4日 18:01
css加载失败(pptv出现CSS加载失败,请您尝试按ctrl F5刷新页面或稍后访问是怎么回事)
2024年7月3日 07:31
多ip机器nginx反向代理配置(nginx反向代理三种模式)
2024年8月17日 18:40
act like a bird(Act like a bird怎么翻译)
2024年5月5日 00:23
什么软件可以看网站(请问有什么软件可以查看别人网站的每天访问量)
2023年9月30日 19:40
logic什么意思(logic翻译成逻辑只是音译吗,有没有对应逻和辑的什么意思)
2023年9月11日 21:40
学pytorch前需要懂python吗(学习python,需要哪些掌握哪些基础呢0基础可以学习吗)
2024年7月24日 09:08
zabbix监控oracle(zabbix监控oracle 怎么配置)
2024年7月22日 01:00