首页 > php

Nginx配置PHP文件/目录访问需要密码)来保护受限制的内容。

最近一个朋友跳槽到了新公司,公司要用DedeCMS建站。然而对这个比较熟的朋友应该知道,系统是够老牌。但系统的漏洞比功能还多,如何保证服务器安全不被挂马是个大问题。由于他们公司没有专业的技术,就找到我这来寻求帮助,本着助人为乐的想法,除了这样一个方案。由于DedeCMS系统是全站生成静态的,而漏洞必然是通过PHP执行的,所以,防护的切入点为禁止他人访问PHP文件。这样,全站由于是静态的,并不会有太大影响。思路如下,使用Nginx的Auth验证系统,对所有PHP的访问加上密码验证,不了解Auth验证的可以去了解一些,这里不多说。同时,为了防止黑客暴力破解密码,以及提高伪装性,加入了一个He...

PHP实现禁用或清理Cookies后Session依旧可以还原并可用。

按照正常的逻辑,在禁用浏览器的Cookies后,或者客户端清理Cookies后,我们服务端的Session使用是会受影响的。禁用Cookies时,Session也不可用,通过GET等方式提交SessionId时,也会受到标签页关闭影响而消失。清理Cookies后,我们就会丢失之前用户的Session信息。那么,禁用或清理Cookies后就真的没什么好办法么???其实是有的,我这里写了个简单的例子,证明禁用或清理Cookies后,重新访问页面依然可以恢复原有的Session Id。测试页面:TestDemo - Session Id在这个页面,你可以尝试禁用浏览器Cookies或者清理Co...

【正则表达式】解析命令行参数(附PHP例子)

不知道别人有没有这样的需求,今天下午需要做一个自己的命令系统。需要解析来自用户传递的命令行字符串。例如这样的命令行,把里面的命令和参数都提取出来。cmd -y 10 'test'考虑一般比较常见的兼容,正则表达式可以直接使用。// 带分组名 (?:(?<s>['"])?(?<v>.+?)?(?:(?<!\\)\k<s>)|(?<u>[^'"\s]+)) // 不带分组名 (?:(['"])?(.+?)?(?:(?<!\\)\1)|([^'"\s]+))一个自己写的比较极端的命令行解析情况c...

PHP中if($a==false)和if(!$a)哪种写法速度更快?

今天某Q群群主突然问了这么一个问题,并发起了一个投票。从投票结果上看,多数人都认为 if(!$a) 速度更快。但是当问道为什么这个速度快的时候,大多数人都沉默了。其实,包括我也沉默了,因为我选 if(!$a) 速度快的原因是:可以少写几个符号...如果这题说的写代码速度的话,我估计这就算是结束了。但是,我突然很想知道,特么到底是哪个运行效率更高。虽然我猜想也应该是 if(!$a) ,但是程序并不会因为你认为怎样就怎样。实践出真知,还是马上写了一堆代码,测试了一下,测试结果如图:其中,测试了三种不同的写法,每次运行一千万次为结果。从图中看,显而易见,和我们预想的差不多。确实是 if(!$a...

PHP在CentOS等Linux系统中以Root权限执行命令行或重启Nginx服务

最近因工作需要,需要在远程服务器上创建网站。前期很顺利,由于服务器是LNMP环境的,只需要给予php修改 .../nginx/conf/vhost/目录 和 /data/wwwroot/ 目录的读写权限.就可以实现远程添加Nginx配置文件和创建网站根目录与解压网站程序的功能了.但是,有一个问题却不好解决,就是添加Nginx配置文件以后需要重启Nginx才能生效.实现方法理论上也很简单,使用PHP执行 "/nginx/sbin/nginx -s reload" 命令即可重启Ningx了.说起来简单,PHP执行命令行的方法可以用 exec 等命令.于是 测试代码 就出来了.<?php...