仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1159|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之静态网页PHP法式中文件上传的平安成绩

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:02:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。   PHP主动撑持基于RFC 1867的文件上载,咱们看上面的例子:
<FORM METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="hello">
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="10240">
<INPUT TYPE="SUBMIT">
</FORM>
下面的代码让用户从当地机械选择一个文件,当点击提交后,文件就会被上载到办事器。这明显是很有效的功效,然而PHP的呼应体例使这项功效变的不平安。当PHP第一次接到这类恳求,乃至在它入手下手解析被挪用的PHP代码之前,它会先承受近程用户的文件,反省文件的长度是不是超越“$MAX_FILE_SIZE variable”界说的值,假如经由过程这些测试的话,文件就会被存在当地的一个一时目次中。
因而,进击者可以发送恣意文件给运转PHP的主机,在PHP法式还没有决意是不是承受文件上载时,文件已被存在办事器上了。
这里我就不会商使用文件上载来对办事器停止DOS进击的能够性了。
让咱们思索一下处置文件上载的PHP法式,正如咱们下面说的,文件被吸收而且存在办事器上(地位是在设置装备摆设文件中指定的,通常为/tmp),扩大名通常为随机的,相似“phpxXuoXG”的模式。PHP法式需求上载文件的信息以便处置它,这可以经由过程两种体例,一种体例是在PHP 3中已利用的,另外一种是在咱们对之前的办法提出平安通知布告后引入的。
然而,咱们可以一定的说,成绩仍是存在的,大多半PHP法式仍是利用老的体例来处置上载文件。PHP设置了四个全局变量来描写上载文件,好比说下面的例子:
$hello = Filename on local machine (e.g "/tmp/phpxXuoXG")
$hello_size = Size in bytes of file (e.g 1024)
$hello_name = The original name of the file on the remote system (e.g "c:\\temp\\hello.txt")
$hello_type = Mime type of uploaded file (e.g "text/plain")
然后PHP法式入手下手处置依据“$hello”指定的文件,成绩在于“$hello”纷歧定是一个PHP设置的变量,任何近程用户都可以指定它。假如咱们利用上面的体例:
http://vulnhost/vuln.php?hello=/etc/passwd&hello_size=10240&hello_type=text/plain&hello_name=hello.txt
就招致了上面的PHP全局变量(固然POST体例也能够(乃至是Cookie)):
$hello = "/etc/passwd"
$hello_size = 10240
$hello_type = "text/plain"
$hello_name = "hello.txt"
下面的表双数据正好知足了PHP法式所希冀的变量,然而这时候PHP法式不再处置上载的文件,而是处置“/etc/passwd”(凡是会招致内容表露)。这类进击可以用于表露任何敏感文件的内容。
算是1个熟悉的过程,所以c语言的基础有就更好,没有也不怕。
变相怪杰 该用户已被删除
沙发
发表于 2015-2-4 08:04:31 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
深爱那片海 该用户已被删除
板凳
发表于 2015-2-8 12:28:39 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
老尸 该用户已被删除
地板
发表于 2015-2-23 09:52:17 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
活着的死人 该用户已被删除
5#
发表于 2015-3-1 21:39:52 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
莫相离 该用户已被删除
6#
发表于 2015-3-11 00:00:46 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-15 19:56:55 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
admin 该用户已被删除
8#
发表于 2015-3-22 03:10:23 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
海妖 该用户已被删除
9#
发表于 2015-3-26 20:29:07 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
柔情似水 该用户已被删除
10#
发表于 2015-4-3 20:50:00 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
谁可相欹 该用户已被删除
11#
发表于 2015-4-4 03:30:42 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
简单生活 该用户已被删除
12#
发表于 2015-4-29 17:46:02 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
13#
发表于 2015-5-4 07:27:42 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
爱飞 该用户已被删除
14#
发表于 2015-5-6 02:11:46 | 只看该作者
当然这种网站的会员费就几十块钱。
金色的骷髅 该用户已被删除
15#
发表于 2015-6-4 02:20:04 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
不帅 该用户已被删除
16#
发表于 2015-6-5 03:15:47 | 只看该作者
实践是检验自己会不会的真理。
小魔女 该用户已被删除
17#
发表于 2015-6-17 21:11:29 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
蒙在股里 该用户已被删除
18#
发表于 2015-6-26 20:27:09 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
分手快乐 该用户已被删除
19#
发表于 2015-7-12 20:36:09 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
再现理想 该用户已被删除
20#
发表于 2015-7-14 10:36:47 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 23:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表