在小公司,特别是创业型公司,整个服务器的搭建一般也是我们 PHP 开发工程师的职责之一。其中,最主要的一项就是要配置好服务器的 php.ini 文件。一些参数会对服务器的性能产生深远的影响,而且也有些参数是可以在 PHP 运行时动态指定和获取的。今天,我们就来学习一些和 php.ini 文件有关的操作函数。
Apache服务器处理: ini_set('display_errors', 'Off'); ini_set('memory_limit', -1); //-1 / 10240M ini_set("max_execution_time", 0); //ini_set('magic_quotes_gpc', 'On'); <IfModule mod_php5.c> php_value post_max_size 10M php_value upload_max_filesize 8M php_va
存档: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="text/html;charset=ut
最近小美眉的网站被盯上了,被添加了非常多的dubo页面,删除了5w多个文件,但还是不停的增加,因为网站权重还可以,很多都被收录了,结果可想而知,ytkah帮她迁移,在迁移网站时遇到了一些问题,后台登录不了,提示 “DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini 织梦官方的说法是:由于在PHP最新的版
php.ini 是php运行的配置文件,不是一个必须使用的文件。不过通常php程序运行都需要加载php.ini文件。 php.ini 提供了一些重要的参数。比如运行的时候出错的时候是否报错,运行的内存最大是多少 和一些php扩展的配置信息。
Python 扫描IP段 指定端口是否开放 TCP21.py #!/usr/local/bin/python -- coding: UTF-8 -- # # qq:316118740 BLOG:http://hi.baidu.com/alalmn Python 扫描IP段 指定端口是否开放 刚学写的不好请大家见谅 # import socket import threading,time socket.setdefaulttimeout(10) #设置了全局默认超时时间 查看IP端口是否开放 clas
本文实例讲述了PHP使用Session实现上传进度功能。分享给大家供大家参考,具体如下:
//简单实现json到php数组转换功能 private function simple_json_parser($json){ $json = str_replace("{","",str_replace("}","", $json)); $jsonValue = explode(",", $json); $arr = array(); foreach($jsonValue as $v){ $jValu
任意文件包含漏洞,如果session.upload_progress.enabled=On开启,就可以包含session来getshell。这种思路在CTF中已经被利用了N多次了。在这里再回顾一下,加深一下印象。
在开发中,用命令行模式来运行 PHP 脚本,需将错误直接打在标准输出上方便调试,若 php.ini 中 display_errors 默认为 off 不打印错误(生产一般都是 off 不打印,而是将错误日志输出到文件,在 error_log 中定义输出路径),那么在命令行中如何直接变更 ini 配置为打印错误日志到终端呢?
两种方式 set_include_path($new_include_path) ini_set('include_path',$new_include_path); 利用常量 PATH_SEPARATOR 可跨平台扩展 include path,可以把自己设置的path加在现有include_path的尾部
php扩展的路径,图省事没用lamp包有点捞…(这里还是说下linux不推荐用phpstudy,很多linux装了phpstudy系统会崩)
最近在开发一个安装程序的时候,打包为了 phar 包,遇到了一个问题就是打包后的 phar 包不能省略 php 去执行。
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Solver.php on line 223
关于 PHP 的配置,我们大多数情况下都是去查看 php.ini 文件或者通过命令行来查询某些信息,其实,PHP 的一些内置函数也可以帮助我们去查看或操作这些配置参数。比如之前我们学习过的 关于php的ini文件相关操作函数浅析 。修改方面的函数就只有 ini_set() ,其他大部分的函数其实都是帮助我们进行查询的,今天,我们就来一一讲解这些函数。
首发drops:http://drops.wooyun.org/tips/3978 。
<?php /* ============== */ error_reporting(0); ini_set('max_execution_time',0); // -------------
在项目中使用到了curl扩展进行PUT传递数据到另一个接口,但是看到的现象是有时候偶发数据是空的 .
一.PHP 这个设置 ini_set('memory_limit', '200M') 的生效时间
/* 102 * —————————————————— 103 * Set a liberal script execution time limit 104 * —————————————————— 105 */ 106 if (function_exists(“set_time_limit”) == TRUE AND @ini_get(“safe_mode”) == 0) 107 { 108 echo “1111111\n”; 109 @set_time_limit(300); 110 }
php.ini 有点复杂 首先php运行有命令行模式(比如 composer安装模块依赖)和 web模式(就是打开页面时正常模式) 两种模式加载的php.ini可能不一样。
最近在苦学PHP,虽然PHP在整体功能上不如Java强大,但相比PHP而言Java算是较重量级的,所以在小中型系统的开发上,使用PHP的趋势不可挡,就算是大型网站,比如淘宝也部分使用了PHP(Java后台逻辑+PHP前台展示),所以赶紧开始学PHP啦。首先介绍下比较简单但必不可少且实用的知识,可以当手册查询,适合像我一样的新手看。 一、PHP常用库函数介绍 1. PHP字符串操作常用函数 确定字符串长度 int strlen(string str) 比较两个字符串 a. strcmp
这是前段时间写的代码了(http://www.weibo.com/1074745063/ByAPqj7s0),最近一直忙着和几个同学一起做非安全类的创业项目。所以也没拿到JAE、SAE测试一下。
1. stream_socket_client 函数中的超时时间是连接超时 , 默认是php.ini中的default_socket_timeout配置项
上图的意思就是说,我们能使用的内存最大是8M,但是处理这个图片还需要额外的41bytes,就会导致内存不足,这是一个很严重的错误。在对图片进行操作前需要将图片的所有信息读入内存中,同时还会使用另一部分内存同于处理计算并缓存输出,所以内存大小的使用还是和图片的大小有关。
咳咳,我一直对这个函数的命名挺纠结的,明明返回的是秒,非要在名字带个micro,总让我以为返沪的是微秒(microseconds)。
2.继续下面的工作:找到usr/uploads这个文件夹,修改777权限,linux和Windows系统修改的方法不同,但网上都有很多介绍:Windows下网站目录777可读写权限设置方法 然后重启服务器,上传附件成功。
第一个方法用file_get_contents($url): 然后1.gif是你要保存的相对路径,你也可以写成绝对路径。 第二个方法用自己写的原生代码: 解释一下代码吧: ob_start
第一步,在phpmyadmin目录中找到version_check.php文件. 找到以下代码
QQ空间里面上传图片呀 微信朋友圈上传图片 发邮件里面上传邮件资料附件 认证的时候要求上传照片或身份证 还有各种产品汪(gou)们提出的需求来分析,上传不同的东西。
因为最近在回顾有关于正则方面的知识,所以突然想起来了这个知识点,整理一篇。 PHP的PCRE库使用的正则引擎是NFA,不同于根据正则一步步匹配确定下一个转移状态的DFA,NFA会在正则表达式匹配不上时进行回溯,尝试其他的状态。 举一个简单的例子。
魔术引号(Magic Quotes)是一个自动将进入 PHP 脚本的数据进行转义的过程。最好在编码时不要转义而在运行时根据需要而转义。
文件上传本身不是漏洞,但如果文件上传功能的限制出现纰漏,允许了不合法且影响网站安全的文件的上传 可以将不合法且影响网站安全稳定性的文件等内容上传的均为“文件上传漏洞” 黑方将文件上传后可通过手段执行以及上传的脚本文件(通过获得上传的地址目录查看文件并达到目的) 一般的,以上所述的内容文件为通俗的所说的:“一句话木马”。 而文件上传功能是大多web应用均具备的功能(例如图片、附件、头像等)正常的将文件上传是合法的。 但如果通过修改文件性质,绕过web应用的限制,将恶意的脚本文件上传到服务器后台,并可以执行,意味着获得了webshell 获得webshell则意味着服务器的操作权限被拿到了下一步的攻击则是最危险的(违法) {用户=是无法直接看见后端代码的,后端代码在服务器,当用户请求服务器 (静态下,由服务器给出响应,浏览器直接渲染) (动态下,浏览器和后端的php中间件通信,由中间件对程序处理或解释,最终生成html的结果)} 流程: 成功上传——获得脚本路径——webshell 成功绕过机制将恶意脚本上传到服务器路径下后 获得脚本存放的路径 进入脚本存储路径对脚本执行(中国菜刀)
前记 Xdebug 前记 定义 开启Xdebug 适用目标 实验效果 注意事项 session.upload_progress 定义 开启session.upload_progress. 适用目标 实
系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警告性错误,比如include载入一个不存在的文件 E_ERROR:致命错误,导致程序无法执行后续语句,比如调用一个不存在的函数
众所周知,地球绕着太阳转的同时也会自转,因此同一时刻不同地区所接收到太阳照射的情况不同,所以有的地区是日出,有的地区是日落,还有的地区可能是黑夜.
我们有时候使用WordPress在升级程序、主题、插件,在进入网站会显示正在执行例行维护,请一分钟后回来。如果升级顺利,升级成功后会恢复正常,如果升级失败在则会一直出现这几个字。目前有三种方法解决
我们在对wordpress主程序、wordpress主题或者wordpress插件升级的时候,在升级过程自动安装中有时候会出现“正在执行例行维护,请一分钟后回来”的提示,一般在升级结束之后就会自动回复网站原样。
真是醉了,前两天在鼓捣其他事情需要图片外链,我就直接用了自己博客用了很久的“EM相册”插件。我顺势看了看代码,还真被我看出事了……
PHP 静态分析引擎 Exakat 分析了 1900 个 PHP 开源项目,整理了最常用的 100 个 PHP 函数:
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序漏洞,攻击者可以通过Web应用程序的漏洞,以某种形式包含恶意文件,或者包含在Web服务器上的其他敏感文件,从而实现权限提升、信息泄露、远程代码执行等攻击。
文件上传漏洞通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的。
正因如此,也有小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的,也可以将其称为一种网页后门
前言 当我们开发程序时,程序出现问题是很常见的,当出现了异常与错误我们该如何处理呢?本文将详细给大家介绍PHP错误与异常处理的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一、PHP错误处理 1.语法错误
1.7 优化文件上传 1.7.1 更改文件名 方法一:通过时间戳做文件名 <?php $path='face.stu.jpg'; //echo strrchr($path,'.'); //从最后一
WordPress在升级程序、主题、插件时,都会先切换到维护模式,也就是显示 “正在执行例行维护,请一分钟后回来(Briefly unavailable for scheduled maintenance. Check back in a minute)”,如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,请一分钟后回来“。
php自定义函数之匿名函数 所谓匿名,就是没有名字。 匿名函数,也就是没有函数名的函数。
[Web安全]PHP伪协议 最近php伪协议的各种神奇妙用好像突然又常常提到了,php中支持的伪协议有下面这么多 复制代码 file:// — 访问本地文件系统 http:// — 访问 HTTP(s) 网址 ftp:// — 访问 FTP(s) URLs php:// — 访问各个输入/输出流(I/O streams) zlib:// — 压缩流 data:// — 数据(RFC 2397) glob:// — 查找匹配的文件路径模式 phar:// — PHP 归档 ssh2:// — Secure
首先要明确session和cookie的区别。浏览器端存的是cookie每次浏览器发请求到服务端是http 报文头是会自动加上你的cookie信息的。服务端拿着用户的cookie作为key去存储里找对应的value(session). 同一域名下的网站的cookie都是一样的。所以无论几台服务器,无论请求分配到哪一台服务器上同一用户的cookie是不变的。也就是说cookie对应的session也是唯一的。 所以,这里只要保证多台业务服务器访问同一个redis服务器(或集群)就行了。
领取专属 10元无门槛券
手把手带您无忧上云