谁帮我写个php页面啊!php 点击按钮下载文件执行命令

后使用快捷导航没有帐号?
只需一步,快速开始
扫一扫,访问微社区
只需一步,快速开始
扫一扫,访问微社区
随时随地,快速访问
只要手机在手,您都可以快速、方便地看贴发帖,与论坛好友收发短消息。
极致优化,畅快"悦"读
独有的论坛界面和触屏设计,手机论坛也变得赏心悦目,操作自如。
即拍即发,分享生活
不管是风景图画,还是新闻现场,拍照发帖一气呵成,让您在论坛出尽风头。
下载客户端后,拍摄二维码快速访问本站:
或者通过以下地址访问:
Powered by
X3.1. Theme Byphp点击掉交按钮后怎么返回前一个页面_百度知道
php点击掉交按钮后怎么返回前一个页面
),而这里需要 的是从任何页面过来的,本来这里用header(&&gt,所以;&#47,想了半天也没想出解决的办法;a&&;本来也可以返回,没有这种函数;返回&lt,这个函数不能用.php&quot,查了PHP手册;&lt想要的效果是点击表单提交按钮后,返回之前的页面;$url&#39:xxxx,都要返回点击过来的页面;a href=&#39,求各位大大指点下迷津,但这个函数返回的是一个指定页面;最好,这个函数返回的是提交表单之前的页面,也就是输入内容时的页面,还有个echo &quot,但在表单提交后;Location
提问者采纳
试试用session吧,把要返回的xxxx.php存在session里
session怎么用,能说具体点吗?
就是先把你要跳转到的页面存在SESSION里面,$_SESSION['url'] = &xxx.php&然后在需要跳转的地方用 header(&Location: &.$_SESSION['url'])
提问者评价
其他类似问题
为您推荐:
其他1条回答
例如 写一个隐藏的input或者提交地址中带一个参数, 一起提交,主要get提交的时候注意base64加密下,提交成功后直接跳转那个页面点击提交时候你可以获取来源页面,或者提交时候你把想要跳转的页面地址传递过来
php的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在php页面中,有什么办法可以点击某个按钮以后就执行页面中的部分php代码,注意*不能刷新页面_百度知道
在php页面中,有什么办法可以点击某个按钮以后就执行页面中的部分php代码,注意*不能刷新页面
提问者采纳
这操作过程中是一定会刷新页面的做不到,因为js是不会提交到服务器上去的,php才能获取到按钮带来的相应的参数,需要提交到服务器上后,按钮触发后。但是要是执行js是可以的,是不可能的,你要通过事件执行PHP代码而且不刷新页面
提问者评价
其他类似问题
为您推荐:
php的相关知识
其他2条回答
就是用js调用php后台ajax 异步传输RIA
php代码是在服务器上的,用户机器上面全都是html+js建议采用javascript或ajax通过http_get访问服务器的php地址,这样不会刷新页面。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁收藏分享按钮怎么实现 html点击按钮时实现 - 小小知识站
收藏分享按钮怎么实现 html点击按钮时实现
最近有网友提出“收藏分享按钮怎么实现 html点击按钮时实现”等问题,小小知识站提取了各大知名网站有关“收藏分享按钮怎么实现 html点击按钮时实现”的部分信息,请注意,文中的内容不代表本站的观点,不要相信任何联系方式。下文是关于“收藏分享按钮怎么实现 html点击按钮时实现”的一些信息:
问题:html点击按钮时实现将第二行文字转换为按钮
回答:在控件里加入onclick= chang(); 就可以了 类似问题:Flash AS2.0 用按钮改变 文字的颜色 如何实现 用命令因为太 请求写一个PHP码点击按钮提交后实现按钮文字改变? 点击按钮同时改变按钮文字和文本 Java button按钮怎么实现点击后按钮文字改变 vs2008 ,button控件,button的ID不变,点击一次,button名
问题:利用SkyDrive轻松同步IE浏览器收藏夹
回答:...夹;4、鼠标右键单击收藏夹夹(或者为Favorites),选择属性,在切换到位置选项卡,单击移动按钮;5、在出选择框中,我们选中刚才在Skydrive中的Favorites夹,在单击选择夹;6、在单击确认按钮,会出一个是否要移动夹的提示,单击是,自动完成后即可。这样就将本地IE收藏夹同步到Skydrive云端了,当你要再别的电脑上实现同步,只需安装SkyDrive桌面...
问题:wps“我的模板”全接触
回答:...相同)。启动:打开WPS2012,会自动打开(图1),也可以在使用过程中单击功能区右上方的按钮。单击下方下次启动直拉空白文档前的复选框,再打开WPS时,就不会自动启动了。图1随着模板频道的改版,中的模板分类、也有新的变化。分成了模板、我的模板和办公资讯三个方面。默认显示的是模板的内容,左侧有不同类型的模板。...
问题:Win8.1系统下用IE11将固定到开始屏幕实现一键打开
回答:...或在网页空白处单击鼠标右键)以调出常用菜单栏。3.按步骤依次轻触或点击&收藏夹&按钮、&固定&按钮和&固定到&开始&屏幕&,即可将心站固定到&开始&屏幕上。这就是Win8.1系统下用IE11将固定到开始屏幕的方法。顺便提示大家一下,过轻触或点击常用菜单栏中的&收藏夹&按钮或&选项卡&按钮,你可以在收...
问题:单击工具,然后单击脱机
回答:好记星呀你? 类似问题:击收藏夹中心按钮,,单击历史,然后单击希望 0731.gotedu /sso/ 为什么我总是登不进去 ??? 单击收藏夹中心按钮,单击源,然后单击希望查看的 如何将喜欢的添加到 为什么突然间空间上传不了呢?
问题:Win7父母也能上网轻松快捷
回答:...爽简单而著称,清爽的界面在浏览网页时候可以更好的视觉效果,不过由于简化了菜单和按钮部分,有些刚上手的朋友一时会找不到收藏夹的位置,其实只要点击窗口右上角的☆按钮,就可以打开我们熟悉的收藏夹了,单击其中的添加到收藏夹按钮,就可以收藏当前页面了。另外我们还可以看到上面有个绿色箭头的按钮,点击这个按钮还可以将收藏夹固定在IE窗口的左侧,...
问题:播客无常观看怎么办
回答:...启浏览器Java功能,方法如下: ①、打开IE的工具 Internet选项,切换到选项,点击默认按钮,IE会自动开启JA脚本。②、您也可以选择手动设置。在方法一的基础上,选择左边的按钮自定义,然后拖动滚动条,找到关于脚本的描述,按下图指示将其启用。当您选择确定时,有可能会收到如下图的,请选择是:看不到播放器;看不到评论,但可以进行...
问题:人人爱听里喜欢、分享、收藏音乐有什么作用
回答:听某首歌曲的时候点喜欢,可以选择写一些喜欢的理由,您的好友就能通过新鲜事看到您喜欢了这首歌;分享音乐是把您认为的好音乐给好友;收藏音乐则是把这首歌添加到自己的音乐列表里,在您的音乐播放器收藏列表及个人主页-音乐-收藏列表中可以看到您所收藏的音乐。
问题:2345智能浏览器怎么收藏
回答:...加到收藏夹选项,出收藏对话框,如图3;图1方法二:点击收藏夹图标打开侧边栏,点击添加按钮,出收藏对话框,如图3;图2二、点击确定按钮就可以收藏该。如下图:图3四、收藏成功后,我们可以在侧边栏中看到刚收藏的。如下图:图4
问题:Modern版IE10添加收藏网页、整理和打开收藏夹
回答:...前浏览的站点添加到收藏夹,请向右键单击网页空白处以出地址栏,在点击或单击固定按钮,然后点击或单击添加到收藏夹。 你可以通过按 Ctrl+D 更快速地保存收藏夹。打开收藏夹在 Modern 版 IE10 中右键单击以出地址栏,然后点击或单击输入框。 你将在地址栏上方看到已固定的、经常访问的和喜爱的。整理收藏夹Modern 版 IE10 中不提供整理收藏夹的功...
问题:傲游浏览器3的收藏功能怎么使用
回答:傲游3的收藏功能使用方法。首先你需要一个傲游账户。第二,运行傲游3.0后,点击界面左上角的头像按钮,在登录框中输入你的名和后,点击登录后即可登录你的傲游账户。第三,登录后收藏将自动开始同步。同时,在登录面板的下方将出现同步收藏按钮。
问题:win8系统如何同步IE的收藏夹实现与360一样的云同步
回答:...器,打开同步就搞定啦。win8系统如何同步IE的收藏夹?编后语在这样的简单设置后,我们就能实现浏览器的设置和收藏夹的云同步的,只要别的win8系统中用我们的微软账户登录,系统共就会自动联网同步的哦。其实,在win8系统中IE能实现云同步功能,其实主要归功于win8系统本身的云属性,现在聊天都能云同步了,微软怎么可能拉下呢,但是这也
问题:Word插入图片和剪贴画
回答:...面板运行Word 2007,默认地,打开的工具面板在开始之下。单击插入切换到插入面板,单击图片按钮。2 选择并插入图片在下图所示的对话框中,左边显示的是计算机或各夹快捷方式,单击可一层一层地打开,直到找到要插入的图片为止。打开的中所有图片将 以缩略图的形式显示在右边的窗口中,方便我们预览并进行选择。依次单击图片示例图片,双击任一图片,...
问题:浏览器怎么使用
回答:...点击左上角的登陆图标,可以的相关: 的设置点击显示栏中的+按钮,打开新健页;再点击页中的大+号,可以设置常用的访问,快速点击访问。 收藏与管理浏览到常用的,需要收藏时,只需要打开当前,单击收藏按钮,即可把收藏起来。点击右上角的收藏菜单,可对收藏夹进行管理,导入及导出的作。 ...
问题:Firefox使用教程:让多个浏览器收藏夹同步
回答:...具栏添加,Firefox还可使用GMarks
extension。若使用IE和Firefox以外的浏览器,可将Google Bookmark按钮拖放到书签工具栏。Diigo,这是一款开发的网络书签,不过目前没有中文版。和上面的一样,也提供了这三
分享给小伙伴们:
也许你感兴趣1570人阅读
用来作为解决php以root权限执行一些普通用户不能执行的命令或应用的参考。
其实php里的popen()函数是可以解决这个问题的,但是由于某些版本的linux(如我使用的Centos 5)对系统安全的考虑,
使得这个问题解决起来麻烦了好多。先来看一个网友使用popen()函数的例子。
复制代码 代码如下:
/* PHP中如何增加一个系统用户
下面是一段例程,增加一个名字为james的用户,
root密码是 louis。仅供参考
$sucommand = &su root --command&;
$useradd = &/scripts/demo/runscripts.php&;
$rootpasswd = &louis&;
$user = &james&;
$user_add = sprintf(&%s %s&,$sucommand,$useradd);
$fp = @popen($user_add,&w&);
@fputs($fp,$rootpasswd);
@pclose($fp);
经过自己的测试,证实此段代码是不能实现(至少在我的系统里是这样的)作者想要获得的结果的。经过自己很长时间的google之后,
问题的关键是su root这个命令需要的密码必须以终端的方式输入,不能通过其它的方式(我也不知道还有没有其它的方式)获得。
又由于项目要求不能使用类似于sudo这种应用,无奈之下,我选择了网友提出的用编写C程序的方法来解决此问题。
首先写个C程序,命名为:run.c 放在目录/scripts/demo/下
复制代码 代码如下:
#include &stdio.h&
#include &stdlib.h&
#include &sys/types.h&
#include &unistd.h&
int main()
uid_t uid ,
//char cmd[1024]; //变量暂时未使用
uid = getuid() ;
euid = geteuid();
printf(&my uid :%u\n&,getuid()); //这里显示的是当前的uid 可以注释掉.
printf(&my euid :%u\n&,geteuid()); //这里显示的是当前的euid
if(setreuid(euid, uid)) //交换这两个id
perror(&setreuid&);
printf(&after setreuid uid :%u\n&,getuid());
printf(&afer sertreuid euid :%u\n&,geteuid());
system(&/scripts/demo/runscripts.php&); //执行脚本
编译该文件:
gcc -o run -Wall run.c
在该路径下生成run文件,这个可执行文件。如果现在用PHP脚本调用 该run的话,即使setreuid了 也是不行的。
接下来要做的是:给run赋予suid权限
# chmod u+s run
# -rwsr-xr-x 1 root root 5382 Jul 2 21:45 run
好了,已经设置上了,再写一个php页面调用它。
复制代码 代码如下:
echo '&pre&';
$last_line = system('/scripts/demo/run', $retval);
&hr /&Last line of the output: ' . $last_line . '
&hr /&Return value: ' . $
在浏览器中浏览。
my uid :48
my euid :0
after setreuid uid :0
afer sertreuid euid :48
--------------------------------------------------------------------------------
Last line of the output: afer sertreuid euid :48
--------------------------------------------------------------------------------
Return value: 0
该命令执行成功。
从显示结果可以看出: apache(daemon)的uid 为48(事实上很多linux系统下daemon的uid为2)。
调用setreuid后将有效用户id和实际用户id互换了。(必须在chmod u+s生效的情况下) 使apache当前的uid为0这样就能执行root命令了。
只需要更改 C文件中的system所要执行的命令就可以实现自己的PHP以root角色执行命令了。
在玩C 以前 玩过一段时间的PHP, 哪个时候需要用PHP 来运行root命令,一直未果,直到有一天搜索到了super这个插件.
随着玩C的日子多了.发现可以用C语言来包裹 要运行的外部命令. 实验了一下.成功了.
不需要任何外部工具就可以实现用PHP 执行root命令.
我下面就把方法发布给大家,有需求用php来运行root命令的朋友可以不用发愁了.
平台:Linux. 实验命令iptables 当前的目录是/var/www/html/http
写程序的时候 用root用户
大家都知道iptables 非root用户不能运行.
首先写个C程序
命名为:ipt.c
复制代码 代码如下:
#include &stdio.h&
#include &stdlib.h&
#include &sys/types.h&
#include &unistd.h&
int main()
uid_t uid ,
uid = getuid() ;
euid = geteuid();
printf(&my uid :%u\n&,getuid()); //这里显示的是当前的uid 可以注释掉.
printf(&my euid :%u\n&,geteuid()); //这里显示的是当前的euid
if(setreuid(euid, uid)) //交换这两个id
perror(&setreuid&);
printf(&after setreuid uid :%u\n&,getuid());
printf(&afer sertreuid euid :%u\n&,geteuid());
system(&/sbin/iptables -L&); //执行iptables -L命令
编译该文件 gcc -o ipt -Wall ipt.c
在该路径下生成ipt 这个可执行文件.
如果现在用PHP网页调用 该ipt的话,即使setreuid了 也是不行的.
接下来要做的是chmod u+s ./ipt
-rwsr-xr-x 1 root root 5382 Jul 2 21:45 ipt
s位已经设置上了.
再写一个php页面调用它.
复制代码 代码如下:
echo '&pre&';
$last_line = system('/var/www/html/http/ipt', $retval);
&hr /&Last line of the output: ' . $last_line . '
&hr /&Return value: ' . $
在浏览器中浏览.
[color=Red]Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination [/color]
[color=Blue]my uid :48
my euid :0
after setreuid uid :0
afer sertreuid euid :48[/color]
--------------------------------------------------------------------------------
Last line of the output: afer sertreuid euid :48
--------------------------------------------------------------------------------
Return value: 0
该命令执行成功..
众所周知: apache的uid 为48. 调用setreuid后 将有效用户id 和实际用户id互换了.(必须在chmod u+s生效的情况下) 使apache当前的 uid为0 这样就能执行root命令了。
大家只需要更改 C文件中的 system所要执行的命令就可以实现自己的PHP执行root命令了
详细出处参考:
SUID:只对二进制程序支持,只要拥有该程序的所有者拥有SUID的权限,那么其它用户或者同组用户拥有该程序的x权限,就可以在程序执行过程中拥有所有者的权限支持。
例如:(在root下操作)
有一文件text的内容是hello world!,现在编写一个读出该文件内容的程序
程序如下:
程序名为read
#include &stdio.h&
#include &stdlib.h&
int main()
FILE *fp = fopen(&/text&,&r&);
char a=fgetc(fp);
while(a!=EOF)
putchar(a);
a=fgetc(fp);
fclose(fp);
然后我们更改文件和程序的权限为
read -rwx-----x&&&&&&&& root& root 文件所有者可以读写执行,其它用户能执行
text&& -r---------&&&&&&&& root& root 只有该文件的所有者才能读
现在运行read
输出hello world!
在新建一个用户qita,然后切换到其它,然后再运行./read则表示会出现错误
原因是read虽然可以执行但是目的是去读text,text的权限是只有所有者能够读到,这是其它用户,当然不能。要想能读到方法是让read拥有
SUID的权限,此时就可以让其它用户在运行read时得到所有者的支持(得到所有者的权限)。***要保证其它用户对于该程序拥有可执行的权限。
1,切换到root用户。
2,然后chmod u+s read&&& 此时read就拥有了SUID权限了。
3,切换到qita用户,运行./read 就能够输出Hello world!了。
SGID:此权限与SUID有类似的地方,但是SUID是得到所有者的支持,而SGID是得到同组用户的支持。同样是刚才的程序和文件,我们改下权限。
切换到root
text ----r-----&&& root root 表示只有同组用户才能读
read -rwx--x--x&& root root
此时运行read,可以输出Hello world!
然后切换到qita
此时运行read,这是侯就不能输出了,原因是其text只能同组用户读写。qita想要读到text的内容必须得到root组的支持。
方法如下:
1,切换到root
2,chmod g+s read&& 这时候就拥有了SGID的权限了
3,切换到qita,执行read,成功
注意:其它用户必须拥有的程序的执行权!
SBIT:此权限只对目录有效,拥有此权限的目录,必须是目录所有者,root,或则是目录内文件的创建者才能删除目录内的文件,其它用户是不能删除的。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:134867次
积分:1954
积分:1954
排名:第11169名
原创:48篇
转载:69篇
评论:38条
(1)(1)(1)(10)(5)(16)(5)(2)(3)(10)(4)(12)(1)(2)(7)(2)(32)(1)(2)

我要回帖

更多关于 点击按钮执行php代码 的文章

 

随机推荐