class类文件会不会被远程调用执行啊
发布于:2022-01-17 09:50:54
#1 cnrae
比如一个单纯的上传类,会不会被远程调用恶意上传呀
2012-04-18 16:17:35
#2 jake
如果是通过单入口index.php调用的话,就不会。如果是独立的php文件的话,有可能。
所以在speedphp里面,尽量使用单入口。
2012-04-18 16:50:51
#3 cnrae
那比如一个上传类,接受$_FILES后上传就全部由类处理,类文件中并未判断用户登录情况
这样,如果别人知道类名称和位置,直接远程调用这个类文件,然后在他的php里传$_FILES给我的类文件
这样等于就可以随便在我服务器上上传了啊
2012-04-19 10:51:06
#4 jake
“如果别人知道类名称和位置,直接远程调用这个类文件”
这个到底是一个入口文件,还是一个controller的类文件?
如果是一个controller文件,调用的时候就要通过入口文件,那么你可以在入口文件加上权限控制即可。这就是speedphp框架的方式,比较安全。
如果是单独的一个文件,那就难说了,这也不是speedphp的方式。
建议楼上好好去研究一下单入口程序吧,这样说起来很困难。
2012-04-19 11:32:35
#5 xiaopiao
dz的做法是
if(!defined('DISCUZ'))die('Access Denied');
我觉得这种做法不错,如果直接访问文件,则会显示Access Denied
2012-04-21 18:07:49
#6 jake
xiaopiao 发表于 2012-4-21 18:07
dz的做法是我觉得这种做法不错,如果直接访问文件,则会显示Access Denied
因为dz的文件,和speedphp的那种应用程序的文件不同,dz很多都不是“类文件”,而是“过程文件”,
“过程文件” 直接访问如果没有加这段语句是会执行,因为过程文件可以自己调用自己 。
但是类文件不会,因为类文件的“类”需要“被调用”,自己调用不了自己。
2012-04-22 19:25:59