一些php技巧

本文探讨了PHP中使用header进行页面跳转时常见的陷阱,即未终止脚本执行可能导致的安全隐患,并给出了正确的实践方法。此外,还介绍了如何在php.ini文件中正确配置扩展模块,以解决扩展缺失的问题。

很多人写程序时,用 header(location) 进行跳转往往不记得写 exit() 语句,事实上这种做法是存在严重风险的。

从浏览器上看,使用 header(location)  就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。

如:

 

if(true)
{
    header('location:http://www.xker.com');
}

file_put_contents('test.txt', 'ok');

=====
这个代码中,粗心的程序员会以为 header('location:http://www.xker.com'); 就over了,事实上,后台的代码却仍然被执行了,所以使用  header(location)  的时候,不管是封装在另一个函数还是直接写的,都建议在后面加 exit() 确认程序中止。

 

====soap
今天运行一个demo代码,出现了“Class 'SoapClient' not found”错误。搜索了一下,需要启动soap服务,但是在php.ini的Windows Extensions里面没有找到soap.dll,一开始还以为我的php版本没有包含这个dll,到php安装目录下的ext子目录看了一下,发现php_soap.dll是存在的。那就简单了,直接添加extension=php_soap.dll到Windows Extensions部分,重启动apache就好了。

ssl默认也是不启动的,extension=php_openssl.dll,可以在这里将它前面";"去掉就好了。

 

var_dump( $query );//把结果当成文本打印出来查看
$GLOBALS //保存所有全局变量(只在当前页面中的)
get_defined_vars() //返回由所有已定义变量所组成的数组(包括全局变量,超全局变量等)
get_defined_constants() //返回由所有已定义常量所组成的数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值