作为PHP程序员,特别是新手,对于互联网的险恶总是知道的太少,对于外部的入侵有很多时候是素手无策的,他们根本不知道黑客是如何入侵的、提交入侵、上传漏洞、sql 注入、跨脚本攻击等等。作为最基本的防范你需要注意你的外部提交,做好第一面安全机制处理防火墙。
规则 1:绝不要信任外部数据或输入
关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包...
php获取ip的算法
php获取ip的算法 代码1:
[php]<?
$iipp=$_SERVER["REMOTE_ADDR"];
echo $iipp;
?>[/php]
php获取ip的算法 代码2:
<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
?>
php获取ip的算法 代码3:
<?
function get_real_ip(){
$ip=false;
if(!empty($_...
提高php代码质量 36计
1.不要使用相对路径
常常会看到:
view source
print?
1
require_once('../../lib/some_class.php');
该方法有很多缺点:
它首先查找指定的php包含路径, 然后查找当前目录.
因此会检查过多路径.
如果该脚本被另一目录的脚本包含, 它的基本目录变成了另一脚本所在的目录.
另一问题, 当定时任务运行该脚本, 它的上级目录可能就不是工作目录了.
因此最佳选择是使用绝对路径:
&...
PHP扩展插件Xdebug
源
Xdebug擴展插件可以幫助你調試你的腳本,他提供了很多寶貴的調試信息。調試Xdebug时,可以提供的信息包括以下內容:
Xdebug源代码是实时託管在Git上。通過github上的源代碼可以瀏覽,並可以檢查出来:
git的克隆的git :// github.com/derickr/xdebug.git
發布
Windows二進制一般是每个提到的PHP版本的迷你版本,是針對當時的最新版本的PHP內置擴展。VC x標記告訴編譯器的擴展始建,非線程安全特稿是否...
PHP监控网上商城价格的简单脚本
近日打算买一台华为U8860手机,经过观察,网上的新蛋、卓越等各家商城的价格都波动得很厉害,有时2000元以上,有时1500元以下。可是每次降到1500元以下都是转瞬即变回2000元,很难抓住这个机会。于是我写了一个php脚本,用来监控价格,一旦降价立即发邮件通知我。
<?php
header("Content-type: text/html; charset=utf-8");
//从etao抓取价格
$html = file_get_contents('http://s.etao.com/search?q=...
php上传文件大小限制修改
用
find / -name php.ini
找到
先修改upload_max_filesize=88M
Sorry, there has been an error.
文件是空的。请上传有内容的文件。这个错误也有可能是因为您的 php.ini 禁止了上传,或其中 post_max_size 的值小于 upload_max_filesize 的值
再修改post_max_size=88M
构建支持Master/Slave读写分离的数据库操作类
一般对于访问量比较大的网站来说,采用基本的MySQL Master/Slave 结构是很正常,而且一般都是一台Master,多台Slave的情况,但是一般在进行这个访问的时候问题比较多,因为读写操作必须分离,所以今天没事就构造了这个数据库操作类。
数据库操作类基本特点:
1. 支持一台Master,多台Slave的情况,所有SQL能够强制调用Master来处理
2. 能够自动识别是写入还是读取操作,然后自动连接到需要的Master/Slave服...
Ubuntu Apache下PHP配置
1st step
将Ubuntu系统更新到最新状态,在做任何操作之前都要做这一步,以确保系统的稳定,同时也不会有一些莫名其妙的现象出现。
$sudo apt-get update
$sudo apt-get dist-upgrade
安装PHP支持
$sudo apt-get install libapache2-mod-php5
$sudo apt-get install php5
如果想支持图形就加php5-gd,如果想支持Mysql就加php5-mysql,这里之所以要单独列出libapache2-mod-php5,主...
PHP中GBK和UTF8编码处理
一、编码范围
1. GBK (GB2312/GB18030)
x00-xff GBK双字节编码范围
x20-x7f ASCII
xa1-xff 中文
x80-xff 中文
2. UTF-8 (Unicode)
u4e00-u9fa5 (中文)
x3130-x318F (韩文
xAC00-xD7A3 (韩文)
u0800-u4e00 (日文)
ps: 韩文是大于[u9fa5]的字符
正则例子:
preg_replace("/([x80-xff])/","",$str);
preg_replace("/([u4e00-u9fa5])/","",$str);
二、代码例子
//判断内容里有没有中文-GBK (PHP)
function chec...
wikimedia出现的PHP报时区变换警告问题
wiki系统不能发送确认邮件,请检查您的邮箱地址是否包含非法字符。
邮件传送员回应:It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the tim...