存档

文章标签 ‘php’

简单的PHP上传代码

2009年5月14日 Slyar 3 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

昨天因为校会要做一个上传页面,于是操起PHP简简单单写了一个上传代码,先备忘一下,有时间继续完善。

首先是上传的提交页面upfile.html

1
2
3
4
5
6
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<form action="upload.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="max_file_size" value="33554432"/>
<input type="file" name="file"/>
<input type="submit" name="submit" value="上传" />
</form>

1. PHP支持HTML以POST的方法传输文件,但是form中必须声明enctype的属性="multipart/form-data",否则整个form表单将不起任何作用。

2. form表单中必须含有一个name为MAX_FILE_SIZE的隐藏域,这个隐藏域用来指定用户最大能上传的文件大小,必须声明在所有其他input标签之前。如果文件超大的话,浏览器直接就可以给出提示,不必浪费上传的时间。

下面就是上传处理文件upload.php

阅读全文...

分类: 网络生活 标签: ,

PHP爆绝对路径的另类方法

2008年11月13日 Slyar 9 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天有人留言问我关于php爆绝对路径的事,这其实是个很古老的问题,网上也有很多解法。除了利用漏洞爆绝对路径外,我们最常见的方法就是利用php的最大执行时间来爆出绝对路径。

自己手工设置过php的人都知道,在php.ini里有一条语句"max_execution_time",这个就是php的最大执行时间。如果某个php页面在这个时间内没有执行完毕,就会报错,而php报错的话一般都会将绝对路径爆出来。php之所以有这样的设置是为了减小服务器的负担,但同时也给了黑客可乘之机。

问我的人他知道这个原理,所以他使用了DOS方式,打算使目标网站的速度减慢,从而爆出路径。但在操作的过程中发现目标网站的防DOS系统做得很好,因此他不能成功获取绝对路径,那么怎么办呢?

解决方法其实也很简单,既然我们不能减慢目标网站的速度,那我们就想办法减慢自己的速度,这样达到的效果是一样的。那么怎么减慢我们自己的速度呢?也很简单,只要我们找一个速度极慢的代理,挂上以后再上目标网站,就有可能将绝对路径爆出来。

分类: 网络相关 标签: ,

根据时间段自动切换CSS风格

2008年9月25日 Slyar 2 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

好久没发技术文章了,现在来一篇。这个是那天小寒提出的,嘿嘿。

我们的博客或者网站总用一个css会造成审美疲劳的,那么我们就想个办法让它自己换好了,以前有很多随机变换css的代码,我就不发了,今天来一个新鲜点的,嘿嘿~

我们可以让我们的博客或者网站根据当前的时间自动更换风格,比如我们制作两套css,一套上午用,一套下午用。这样我们可以设定12点以前使用上午的css,过了12点就自动换成下午的css。

实现起来也很简单,我用php的,所以只发php版本了。

<link rel="stylesheet" type="text/css" href="<?php $hour = date("H"); if ($hour < 12) echo "am.css"; else echo "pm.css"; ?>" />

看到了?实际上就是利用php的date函数和echo来控制输出css文件名,简单吧?

分类: 网络相关 标签: ,

"Zend Optimizer not installed"可能原因及解决方法

2008年9月2日 Slyar 3 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

朋友使用Windows 2003自己组建服务器,做完安全配置后才发现没有安装Zend,而安装完成后却发现"Zend Optimizer not installed",经过一番对比发现php.ini内没有正确写入Zend的配置信息,原因可能是之前的安全配置使得php.ini只有运行和读取权限,而后来安装Zend却需要写权限来进行配置,故无法安装成功。

经过对比发现正确安装的Zend在php.ini中有以下信息:

[Zend]
zend_extension_ts = "\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\zendOptimizer\lib\Optimizer"

zend_optimizer.enable_loader = 1
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

其中最主要的应该是红色部分,而蓝色的是你的zend路径,自己按照情况写。将这段复制到你的php.ini,然后重新启动IIS,看看Zend是不是正常了?

分类: 网络相关 标签: , ,

修改php的memory限制

2008年8月28日 Slyar 1 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

Xampp搭环境,用xml导入的时候出了点问题,可能很多人也有这样的问题吧,以前我没碰到,今天遇到了。。。

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 334230 bytes) in D:xampphtdocstest.php on line56

php内存溢出了,无语。来吧,我们修改一下。

1、打开 xamppapachebinphp.ini 。不要去php文件夹找那个php5.ini ,那个不是配置文件。

2、搜索 "memory" 找到以下内容:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 60     ; Maximum execution time of each script, in seconds
max_input_time = 60    ; Maximum amount of time each script may spend parsing request data
memory_limit = 32M      ; Maximum amount of memory a script may consume (16MB)

3、修改 "memory_limit =" 的值即可,一般改成64M就差不多了。

4、重启Apache ,完毕。

分类: 网络相关 标签: ,

开启Xampp的Zend功能

2008年8月27日 Slyar 没有评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

自己图省事安装的Xampp,昨天想调试一下SupeV,结果提示错误说没有Zend功能!晕了,我记得Xampp里面有Zend啊,难道是没有开?

找找php.ini看看配置信息,由以前的经验得知,Xampp的php.ini应该是xampp\apache\bin\php.ini而不是php\php5.ini,打开xampp\apache\bin\php.ini,搜索一下"zend”,发现有"zend_optimizer.enable_loader"参数,修改默认0为1,搞定。

总结一下

1、打开 xampp\apache\bin\php.ini

2、搜索 zend_optimizer.enable_loader

3、将 zend_optimizer.enable_loader = 0 修改为 zend_optimizer.enable_loader = 1

4、重启Apache,完毕

分类: 网络相关 标签:

PHP空间探针iProber

2008年8月19日 Slyar 3 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天一个朋友询问Slyar怎么看php空间的配置,我告诉他直接用phpinfo()函数就可以,但是他说他看不懂里面的内容,全是英文。。。汗一个,那么既然看不懂英文,那我们就看中文的好了,请出今天的主角:PHP探针。

那么,什么是探针?

学生物的时候学过“基因探针”,那么这个空间探针的作用和基因探针是一样的,都是一种获取信息的工具,那么今天我给他的这个PHP空间探针主要有以下几个功能:

1、服务器环境探测:CPU、在线时间、内存使用状况、系统平均负载探测、操作系统、服务器域名、IP地址、解释引擎等

2、PHP基本特征探测:版本、运行方式、安全模式、Zend编译运行及常规参数

3、PHP组件支持探测:Mysql、GD、xml、session、socket等组件支持情况

4、服务器性能检测:整数运算能力、浮点数运算能力、数据IO能力

5、自定义探测:Mysql连接测试、Mail发信测试、函数支持情况及PHP配置参数

我们可以看到,这个PHP空间探针的功能还是非常强大的,而最关键的是这个探针是全中文。。。

使用这个探针也很简单,到下载基地下载slyar_prober.rar,解压后只有一个iProber.php,将它上传至你的空间访问即可,不过记得看完后一定要删除,以免留下安全隐患。

分类: 网络相关 标签:

安装配置Win2003+IIS+PHP+MySQL+Zend

2008年7月31日 Slyar 2 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

我06年的文章,转过来。

上午装好了Win2003,中午的时间当然就是配置Web服务了,首先开了ASP,这个简单。

我的服务器目录放在C:\website 我在下面新建了5个文件夹:

PHP5,Mysql,phpmyadmin,zend,discuz

一、安装PHP5。

我安装的版本是PHP 5.1.2,php.ini的修改也很简单,搜索extension-dir改为php\ext的路径,将mbstring,gd2,mysql三个模块前的分号去掉,保存即可。还有一点,大部分教程上说的是将N多个DLL拷贝到SYSTEM32下,但是我没有用这种方法,我是将PHP目录添加到了系统的 "环境变量"里,这样简单,还不用拷贝那么多东西,呵呵。

二、安装Mysql服务。

我安装的版本是MySQL 5.0.18,傻瓜化的安装,注册就Skip Sign-UP。

配置Mysql:服务选择Detailed Configuration,服务器类型选择Server Machine,数据库类型选择Non-Transactional Database Only,人数限制选择Manual Setting,最大连接数200-300,取消Enable Strict Mode,字符集选择GBK,勾选Include Bin Directory in Windows PATH,取消root access from remote machines,就可以了。

安装完毕后打开CMD输入mysql -uroot -p

然后输入mysql密码,看到提示说明服务安装成功。

最后将bin/Libmysql.dll复制到SYSTEM32目录下。

三,安装Zend。

我安装的版本是Zend Optimizer 2.6.2,安装的时候出了点问题,由于我没看英文提示一路Next,导致PHP配置文件路径错误,使得后来我phpinfo()的时候未看到Zend......

当然,我懒得去看Zend的配置文件,于是我就重装了一次,OK。

四、安装phpmyadmin。

我安装的版本是phpMyAdmin 2.6.5,直接解压到目标文件夹下就可以了,然后更改config.inc.php的配置。

$cfg['PmaAbsoluteUri'] = " ";   //这里输入phpMyAdmin的地址
 
$cfg['PmaAbsoluteUri_DisableWarning'] = FALSE;
 
$cfg['PmaNoRelation_DisableWarning']  = FALSE;
 
$cfg['blowfish_secret'] = 'slyar';  //使用cookie验证时的加密扰玛,可以随便输入.
 
$cfg['Servers'][$i]['auth_type'] = cookie;  //系统使用的验证方式可以供使用的是(config,http,cookie)
//config 根据配置文件,无须认证,只要访问phpMyAdmin即可进行操作,这是最危险的,除非你在本机测试,否则绝对不建议使用;
//http 使用HTTP验证方式访问,比较安全,就是弹出窗口输入用户名和密码然后访问;
//cookie 使用cookie验证,很安全,建议使用这个.
 
$cfg['Servers'][$i]['user'] = '';          // MySQL 的用户名
 
$cfg['Servers'][$i]['password'] = '';      // MySQL 的密码,如果使用cookie方式,可以不填

保存即可。

五、整合IIS和PHP。

首先新建一个网站,输入正确的主目录路径.

打开新建的网站的属性,点击主目录里的配置,添加应用程序扩展,找到php文件夹,然后选择php5isapi.dll,扩展名为.php,动作限制为:GET和POST.

点击文档,添加默认内容文档index.php

添加新的web服务扩展(PHP),设置扩展状态为允许,然后重启web服务。

这里还有一个插曲,我安装完毕后网站无法访问,提示没有权限。我查看了IUSER_xxxxx是启用的,其他的策略也没有问题,一时的不到解决,下午课间的时候我在教室使用3389连接到服务器,重启了一下网站(不是IIS),结果就好了......晕

至此整个IIS+PHP服务器就安装完毕了,新建info.php,内容写入

<?php
 
phpinfo();
 
?>

放在网站主目录里访问,OK,成功出现配置信息。

今天服务器Web配置就结束了,以后还要安装FTP、Proxy等服务。

分类: 网络生活 标签: , ,
bnuep:0801010047