按分类归档:PHP

ajax请求跨域问题

比如当前浏览的地址为 http://www.a.com/login.php login.php 里有个 ajax 的 post 请求到 http://www.a.com/login.php ,post数据中有用户名、密码, 后台判断是否正确,返给客户端处理结果,浏览器再接着跳转。 这是正常的处理流程,如果post到另一个域名下,就产生跨域问题了。浏览器会停止执行。 下面是本地测试代码: 访问地址为:http://cp/admin/login.php ajax请求地址是:http://test/cross.php cross.php代码如下: 这样测试以后,打开chrome调试,发现是无法触发跳转。浏览器发现是跨域请求(不安全),在浏览器中就直接不执行了。 把cross.php添加一个响应头。 再次测试发生了跳转。 *号代表所有域 还有一种方法就是在nginx或者apache中,添加一个响应头。 如nginx下: server { listen 80 default_server; add_header Access-Control-Allow-Origin ‘*’ ;

评论关闭

linux下php以root权限执行shell脚本或系统命令

首先修改 /etc/sudoers: #Defaults requiretty      #这行前面加注释符号 apache ALL=(ALL) NOPASSWD:ALL 用户    主机=映射为谁的权限 不需要密码:所有操作 web服务以哪个用户运行,就改掉apache。 需要只允许哪几个脚本就改为: apache ALL=(root) NOPASSWD:/home/a.sh,/home/b.sh           #每个脚本逗号隔开 上面参数解释: apache这个用户以root权限,不需要密码去运行/home/a.sh和/home/b.sh两个脚本 在php中调用: 一般情况下,exec这个函数,包括shell_exec 、system 等做为危险函数会被禁用,如果禁用了,去php.ini配置文件取消禁用。

评论关闭

textarea文本框,php处理成数组以每行做为一个值

评论关闭