Tagged: PHP

0

Centos 升级 PHP7

这两天升级了下VPS的PHP7,原来是5.3.3。 System: CentOS release 6.7 (Final)

0

PHP获取任意数组的长度

PHP经常处理未知深度的数组,这种情况一般用递归可以处理,但是对于数组深度,还是知道的好。 获取数组长度: 测试: $arr = array( array( array( array( array(‘id’=>1) ) ) ) ); $arr_len = array_len($arr); var_dump($arr_len); //result int(5)

0

如何解决session跨页面失效问题

昨天在自己的服务器用session实现了一个登陆的功能,但是session跨页面不能使,着实捉急了一会。下面把解决过程记录下,防止下次遇到同样的问题又抓瞎了。

0

mac配置Apache+php+mysql

前言 周末购置了一台Macbook Pro,所以准备将所有的工作环境都慢慢的迁移到Mac上来,简单的使用了一下,确实不错,用户体验真的是非常好。目前在学习PHP相关的开发,就需要配置PHP的开发环境,网上对Macbook上配置PHP开发环境的文件比较少,我上网查了一些资料,自己通过这篇文章做一个总结,希望对后来的同学们有点用。

0

把俩个有序的数组打印或排序

最近有个面试题挺火的——把俩个有序的数组打印或排序。刚看到这个题的时候也有点蒙,最优的算法肯定要用到有序的特性。 思考了一会发现也不是很难,假如数组是正序排列的,可以同时遍历俩个数组,将小的值进行排序,最后会遍历完一个数组,留下一个非空数组,而且剩下的值肯定大于等于已经排好序的最大值。 PHP代码之   Python 代码之   C代码之 GO代码之

Warning: Call-time pass-by-reference has been deprecated 0

Warning: Call-time pass-by-reference has been deprecated

在跑php脚本的时候遇到如下警告: Warning: Call-time pass-by-reference has been deprecated 原因

PHP $_GET $_REQUEST 为空 1

PHP $_GET $_REQUEST 为空

刚才遇到一个很奇怪的问题——$_REQUEST无法获取GET参数,一开始以为是PHP配置的问题,后来打印$_GET也是空,所以猜想不是PHP的问题,也许是Nginx的问题。

6

Mac OS X Mavericks or Yosemite 安装Nginx、PHP、Mysql、phpMyAdmin

翻译:http://blog.frd.mn/install-nginx-php-fpm-mysql-and-phpmyadmin-on-os-x-mavericks-using-homebrew/ 最近Ubuntu用着很不爽,首先是输入法很难用,所说搜狗发布了Ubuntu14.04的输入法,但是远远没有Win下的输入法好用。其次是没有qq,在公司喝同事交流很困难,虽说网页qq也可以聊天,但是传个文件就不行了。缺少很多应用,用Web版的用很难用。总之Ubuntu就是不爽。于是把家里尘封的Mac Mini搬到公司爽爽的写程序。

web常见攻击六——文件上传漏洞 2

web常见攻击六——文件上传漏洞

  文件上传漏洞就是对用户上传的文件类型判断不完善,导致攻击者上传非法类型的文件,从而对网站进行攻击。 以上传图片为例进行介绍,下面来看初级的程序。 这段程序没有对图片类型及大小进行任何判断,就对文件进行上传,很容易产生文件攻击。 下面这段程序对文件大小及类型进行验证 很多人都会用$uploaded_type == “image/jpeg”对图片类型进行验证,可是这样依然是不安全的。 安全的图片验证类型可以这样写$uploaded_ext == “jpg” || $uploaded_ext == “JPG” || $uploaded_ext == “jpeg” || $uploaded_ext == “JPEG”),呵呵,也不难是吧,其实有些事情就这么简单,只是我们不知道而已。

php 5个基本安全措施 0

php 5个基本安全措施

1:管理安装脚本 如果开发人员已经安装了一套第三方应用程序的PHP脚本,该脚本用于安装整个应用程序的工作组件,并提供一个接入点。大多数第三方软件包都建议在安装后,删除该目录包含的安装脚本。但开发人员希望保留安装脚本,他们可以创建一个.htaccess文件来控制管理访问目录。 AuthType Basic AuthName “Administrators Only” AuthUserFile /usr/local/apache/passwd/passwords Require valid-user 任何未经授权的用户,如果试图访问一个受保护的目录,将会看到一个提示,要求输入用户名和密码。密码必须匹配指定的“passwords”文件中的密码。 2:头文件 在很多情况下,开发人员可以将分布在应用程序的几个脚本包含进一个脚本里。这些脚本将包含一个“include”指令,集成单个文件到原始页面的代码里。当“include”文件包含敏感信息,包括用户名、密码和数据库访问密钥时,该文件的扩展名应该命名成“.php “,而不是典型的“.inc”扩展。“.php”扩展确保php引擎将处理该文件,并防止任何未经授权的访问。 3: MD5 vs. SHA 在某些情况下,用户最终会创建自己的用户名和密码,而站点管理员通常会对表单提交的密码加密,并保存在数据库中。在过去的几年中,开发人员会使用MD5(消息摘要算法)函数,加密成一个128位的字符串密码。今天,很多开发人员使用SHA-1(安全散列算法)函数来创建一个160位的字符串。 4: 自动全局变量 php.ini文件中包含的设置称为“register_globals”。P服务器会根据register_globals的设置,将会为服务器变量和查询字符串自动创建全局变量。在安装第三方的软件包时,比如内容管理软件,像Joomla和Drupal,安装脚本将引导用户把register_globals设置为“关闭”。将设置改变为“关闭”可以确保未经授权的用户无法通过猜测变量名称及验证密码来访问数据。 5: 初始化变量和值 许多开发人员都落入了实例化变量不赋值的陷阱,原因可能由于时间的限制而分心,或缺乏努力。身份验证过程中的变量,应该在用户登录程序开始前就有值。这个简单的步骤可以防止用户绕过验证程序或访问站点中某些他们没有权限的区域。 广告

在Mac OS X 10.8中配置Apache + PHP + MySQL 1

在Mac OS X 10.8中配置Apache + PHP + MySQL

在Mac OS X 10.8中配置Apache+PHP+MySQL的内容包括: 配置Apache 配置PHP 安装MySQL 配置PHPAdmin 设置数据库默认字符集 一. 配置Apache 1. 启动Apache 打开终端,输入: sudo apachectl start 打开浏览器,输入: http://localhost 应该可以看到”It works!“的页面,该页面位于/Library/WebServer/Documents/目录下,这是Apache的默认根目录。 2. 配置用户访问目录 在终端中输入: mkdir ~/Sites cp /Library/WebServer/Documents/index.html.en index.html 在用户目录下新建一个名为Sites的目录,作为用户目录的访问路径,并将 /Library/WebServer/Documents/index.html复制到用户目录 输入: cd /etc/apache2/users/...