首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP防止直接访问.php 文件的方法

为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式. 比如我们的项目为 example, 其下有文件夹 dir1、有个接口文件 api.php....结构为: 这时候我们要求只能通过 example/api.php 来调用file.php里的服务,不能直接通过example/dir1/file.php访问....在 php 里有这样一个变量$_SERVER,这是个数组变量, 里面有各种键值对, 具体的可以搜索一下资料. 那么我们现在可以通过$_SERVER里的SCRIPT_NAME来获取脚本名称....$_SERVER['SCRIPT_NAME'],其值会是类似 xxx/api.php,那么我们就可以通过判断访问链接里是否含有api.php来判断这个访问是否为合法的访问, 如果合法则继续执行, 不合法则阻断...具体代码如下: if(strpos($_SERVER['SCRIPT_NAME'], 'api.php') === false){ echo "error"; exit; } 在 file.php

2.5K60
您找到你想要的搜索结果了吗?
是的
没有找到

禁止直接访问php文件代码分享

如何禁止别人直接访问php文件 可以通过判断某一个常量是否被定义或定义的值是否相同,如果未被定义或值不相同则停止脚本运行。 defined('IS_ALLOW') or die('禁止访问!')...; 访问结果:禁止访问! 如果需要在其它php文件中进行引用,可以先将常量定义后在进行引用。...A-jb51.php defined('IS_ALLOW') or die('禁止'); echo "访问成功!"...; B-jb51.php define('IS_ALLOW', true); require './A-jb51.php'; 访问B-jb51.php结果:访问成功!...到此这篇关于禁止直接访问php文件代码分享的文章就介绍到这,更多相关如何禁止别人直接访问php文件内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

1.5K20

PHP生成文件直接下载

PHP生成文件下载的代码 代码如下: 以上就是PHP代码生成文件下载的功能代码,在火狐,谷歌,IE10以上的浏览器内测试正常。 ?...可以更改成下载其它格式文件 其中下载文件后缀名可以更改,比如下载CSV格式的文件, 代码如下 $filename = "heibai.txt";//生成的文件名 更改后的代码 $filename = ..."heibai.csv";//生成的文件名 拦截下载 如果没有内容可供用户下载,我们可以在执行下载功能前进行拦截操作,上面的代码可以修改一下,具体代码如下 代码 <?...注意事项 注意:由于以上代码是在后台进行,下载文件的时候需要打开一个新的页面才执行下载,所以在前端请求的时候,不能以AJAX的方式进行请求,要以A链接新开页打开方式,或form提交的方式请求。

1.8K20

php实现文件下载

近期搞了一个安卓的客户端,想把它挂到站点上提供下载,整理实现思路如下: (1).浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php)       (2).运行该文件的时候...,必然要把将要被下载文件读入内存当中,通过fopen()函数完成该动作        (3).从内存当中读取文件,通过fread()函数完成该动作  (4).把读到的内容输出到客户端...//下载文件需要用到的头 Header("Content-type: application/octet-stream"); //告诉浏览器这是一个文件流格式的文件...$file_count+=$buffer; //累积读到的文件大小 echo $file_con; //直接向浏览器输出 } /.../echo fread($fp, $file_size);//小文件可以直接一次性读完 fclose($fp); //可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

16420

TCGA的maf突变文件不能下载直接用TCGAbiolinks包搞定!

之前的TCGA的MAF文件是可以下载的,每个癌症包含4种软件得到的突变文件: 曾经TCGA可以下载4种MAF文件 后来就改版,不让你随便下载。但其实还是可以下载的,只不过没有那么多选择!...MAF文件下载 但是现在我们有TCGAbiolinks,根本不需要自己动手,直接三步走即可得到我们需要的MAF文件。...无缝对接maftools 由于我们在之前的推文中已经下载过了,所以这里就不用下载直接加载保存好的数据。 我们以TCGA-COAD的数据作为演示。...单个样本的maf文件 不妨多解压几个打开看一看,都是一样的结构,所以就很简单,把所有的文件读取进来然后直接rbind()即可。...然后只能回过头去看哪里出了问题,通过仔细使用VScode直接打开maf文件和我们读取的文件对比,发现问题。

2.1K21

Nginx htpasswd 文件加密访问

加密文件 18年的时候当时为了给朋友下东西,把一些软件放到了之前的服务器上,后来突发奇想想应该给下载文件加个访问密码,然后找到了 htpasswd 这个东东,后来折腾些时间弄好了之后发现用的并不多(...,今天去看发现下载文件夹没了。。但是配置文件还在,所以打算再把htpasswd重新记录下,以后也方便一点。...以后 download 页面的文件首选服务器下载 安装 在 nginx centos7 环境下使用 yum 命令安装 htpasswd: yum.../.htpasswd; } 配置完成后,访问相关文件夹的指定加密文件时会弹出验证 默认弹窗 401验证不通过会自动跳转到默认的 401 页面,如需自定义 401 页面,需要在以上 location...url时发现全站链接加了/后直接401,排查配置项发现注释掉了重定向..

7410

Nginx HttpMemcModule和直接访问Memcached效率对比测试

测试环境: 测试客户机A: HP DL380G4,2个双核CPU,4G Ram,2块10k RPM SAS盘做raid 1,ext3 Nginx所在服务器B:DELL R710,E5620 * 2,32G...块盘15K RPM SAS盘做raid 1+0,xfs Memcached所在服务器C:DELL R710,E5620 * 2,32G Ram,6块盘15K RPM SAS盘做raid 5,ext4 Nginx...Reduce TCP performance spikes 测试方案: 使用php连接本地nginx代理,存取远程memcached数据; 使用php直接连接远程memcached服务器; 从测试客户端用...程序通过HttpMemcMC访问memcache和直接访问memcached的效率并没有太多损失; 采用php直接访问memcached,失败的次数相比通过HttpMemcMC有较大增加,应该是HttpMemcMC...在keepalive方面更有优势; 后续会在进行一次测试,调整nginxphp及内核相关参数,再做对比; 本次测试没有和正常的http请求混在一起对比,测试结果不具备绝对参考价值; 单从本次测试结果来看

54220

Nginx防盗链,Nginx访问控制,Nginx解析php相关配置, Nginx代理

访问控制: vim /usr/local/nginx/conf/vhost/test.com.conf     =虚拟主机配置文件 location /admin/ { allow 192.168.133.1...; allow 127.0.0.1; deny all; } 配置文件里面的规则,nginx是一条一条匹配的如果第一条匹配成功那么就不会匹配下面的规则。...例如 配置里面 allow 127.0.0.1 如果访问的 IP是127.0.0.1 那么匹配第一条规则就直接允许访问,就不会匹配后面的其他规则,如果访问过来的是127.0.0.2那么就会直接deny...return 403; } deny all和return 403效果一样 Nginx解析php相关配置: vim /usr/local/nginx/conf/vhost/test.com.conf...    =虚拟主机配置文件 location ~ \.php$ { include fastcgi_params; #fastcgi_pass 用来指定php-fpm监听的地址或者

67770

Nginx防盗链+Nginx访问控制+Nginx解析php相关配置+Nginx 代理

一、Nginx防盗链: 1.1 打开配置文件: /usr/local/nginx/conf/vhost/haha.com.conf 增加如下配置文件: location ~* ^.+\....---- 二、Nginx访问控制: 有时候在咱们运维一些网站的时候,发现一些访问是不正常的。...还有一种502的现象,如果内存中出现大量的php-fpm进程占据内存,也会同样导致此问题!...---- 四、Nginx 代理 假如一个用户需要访问WEB服务器,但是用户与WEB服务器之间是不通的,WEB服务器在内网,我们需要一个代理服务器来帮助用户访问web,他必须和用户相通,也必须和web服务器相通...4.2 配置文件: cd /usr/local/nginx/conf/vhost vim proxy.conf 加入如下内容: server { listen 80; server_name

1K50
领券