首页 » PHP教程

关于 PHP教程 的文章共有20条

微信域名拦截安全检测API PHP源码

微信域名拦截安全检测API PHP源码

微信域名安全检测API PHP源码 感谢蓝优提供源码 这是一个很简单操作,利用跳转检测是否和域名一致。 调用:域名/api.php?url= <?php /** ---------------------------------- * wx域名检测 * Name:蓝优/幽梦 * Time:2020-5-15 -------------------------------------- **/ header('Content-type: application/json'); $api = get_headers('http://mp.weixinbridge.com/mp/wapredirect?url='.$_REQUEST['url']); if($api[1] !== 'Location: '.$_REQUEST['url'].''){ $value = array('code'=>202,'msg'=>'域名被封'); }else{ $value = array('code'=>200,'msg'=>'域名正常'); } echo json_encode($value,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE); 可以再对接上发信系统和监控就可以做到 域名拦截提醒 下载列表 微信域名安全检测API PHP源码 大小:1.5 K 立即下载

评论(1) 2020-5-16
PHP CLI模式开发敷衍笔记

PHP CLI模式开发敷衍笔记

PHP CLI模式开发不需要任何一种Web服务器(包括Apache或MS IIS等),这样,CLI可以运行在各种场合。 有两种方法可以运行PHP CLI脚本。第一种方法是使用php -f /path/to/yourfile.php。调用PHP CLI解释器,并给脚本传递参数。这种方法首先要设置php解释器的路径,Windows平台在运行CLI之前,需设置类似path c:\php的命令,也失去了CLI脚本第一行的意义,因此不建议使用该方法。第二种方法是首先运行chmod+x <要运行的脚本文件名>(UNIX/Linux环境),将该PHP文件置为可执行权限,然后在CLI脚本头部第一行加入声明(类似于#! /usr/bin/php或PHP CLI解释器位置),接着在命令行直接执行。这是CLI首选方法,建议采用。下面我们来看看怎样编写PHP CLI脚本。1.编写第一个CLI脚本 首先创建一个名为myfile.php的PHP脚本,用于运行PHP CLI。该脚本很简单,仅显示“你好 PHP CLI!”。该脚本代码如下:#!/usr/local/bin/php –q <?php//Windows平台上,上行应该为:#!C:\php\php.exe -qecho "你好 PHP CLI!";?> 不要忘了给该文件设置为可执行的权限:$ chmod 755 myfile.php然后直接输入以下命令,按回车键即可以运行:$ ./myfile.php 如果要在Windows系统下运行该脚本,则不需要设置文件属性,可以直接运行该脚本。Microsoft Windows [版本 6.0.6000] 版权所有 (C) 2006 Microsoft Corporation。保留所有权利。C:\ >myfile.php你好 PHP CLI!再重申一次:如果在Windows平台,CLI脚本的第一行一定要写正确php.exe所在的位置,像这样(另外,如果要在CLI脚本中加注释语句,则要把注释写在PHP标签里面,因为CLI解释只认识第一行,不在PHP标签里认为是语法错误):#!C:\php\php.exe -q这样,可以看到在命令行下信息已经打印出来,证明该CLI脚本已经成功运行。2.从命令行上读取参数如果想从命令行获取参数,CL...

评论(0) 2019-10-13
PHP检测每一段代码执行时间(加载时间)

PHP检测每一段代码执行时间(加载时间)

<?php // 实例1 /**  * @start time  */ function proStartTime() {     global $startTime;     $mtime1 = explode(" ", microtime());     $startTime = $mtime1[1] + $mtime1[0]; }   /**  * @End time  */ function proEndTime() {     global $startTime,$set;     $mtime2 = explode(" ", microtime());     $endtime = $mtime2[1] + $mtime2[0];     $totaltime = ($endtime - $startTime);     $totaltime = number_format($totaltime, 7);     echo "<br/>process time: ".$totaltime; }   // 程序调用开始记时 proStartTime();   sleep(1);    &n...

评论(0) 2019-10-12
新浪图片外链失效使用远程图片解决方案

新浪图片外链失效使用远程图片解决方案

这里提供一种临时处理的思路:既然新浪判断了Referer,我们伪造就是了最后用API方式调用,例如:api.php?url=新浪外链地址远程图片<?php/**  * @description: curl_get 获取远程图片  * @param  图片url  * @return: 获取到的图片文件流  */  function curl_get($url){     $ch = curl_init($url);     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn; R815T Build/JOP40D) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/4.5 Mobile Safari/533.1');     curl_setopt($ch, CURLOPT_TIMEOUT, 10);     $content = curl_ex...

评论(0) 2019-10-9
抖音无水印ajax解析下载html源码

抖音无水印ajax解析下载html源码

仅以学习为目的,源码全部开源无加密,接口源码教程看https://www.isiyuan.net/?post=97 前端是某论坛看到的,致谢。源码调用了bootstrap和layer等开源产品。api是调用的思源后花园的。文件里面改成自己地址即可。源码下载:https://www.lanzous.com/i6m2jgf

评论(0) 2019-10-6
学习笔记Mysql-相关知识

学习笔记Mysql-相关知识

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL是一个轻量级的数据库,与PHP配合使用效果非常好,MySQL支持大部分SQL语句。 常见的数据库:oracle、mysql、sql server 安装mysqlwamp集成环境中已经自带mysql。安装wamp时,已经安装上了mysql软件。 要想操作mysql中的数据,我们需要使用一种语言叫做sql来实现。SQL(Structured Query Language) 是一种结构化查询语言,使用它可以对数据库中的数据进行增删改查。 编写sql语句mysql安装的时候默认自带客户端和服务端的,在mysql客户端中编写sql就可以操作数据库中的数据。使用mysql客户端,需要在cmd中进入到mysql安装的bin目录中,执行以下命令:mysql  -u 用户名  -p 密码敲回车就进入到了mysql模式的交互环境了,此时可以写sql语句进行数据库的操作。 设置中文(window下)set names utf8;set character_set_database=utf8;set character_set_server=utf8;set character_set_client=gbk;set character_set_connection=gbk; show variables like "character%"; #查看数据库的默认编码格式 数据库操作相关sql语句show databases;  # 查看mysql有多少个数据库create database 数据库名 charset utf8;  # 创建数据库drop database 数据库名; # 删除数据库use 数据库名;# 选择操作哪个数据库 数据表操作相关sql语句创建数据表(务必要先选择一个数据库)create table 表名(字段名 类型,字段名 类型.....); #创建数据表 添加字段create table user(id int primary key aut...

评论(0) 2019-9-30
MySQL如何设置自增主键

MySQL如何设置自增主键

今天一个朋友问id不递增。发布一下小方法。在初次使用MySQL数据库的时候,或者习惯了使用Oracle数据库(无自增主键),许多小伙伴不知道该如何给MySQL数据库中的相应表中的字段设置自增主键:第一种情况:在创建表的时候使用语句:这里创建user表,给用户id创建一个自增主键:create table user( id int(10) primary key auto_increment, username varchar(50) );第二种情况:创建表后,将某个字段设置为主键(这种方法部分不可以用):如果设置了主键还不行,就用sql代码设置一下自增主键:alter table user add primary key (id);

评论(0) 2019-9-16
浅谈php运用mysql注入问题危害以及预防方法

浅谈php运用mysql注入问题危害以及预防方法

登录无论get还是post,传过的数据如果不过滤,就可以通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.在用户名输入框中输入:' or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,等价于下面代码 select * from user where username='' or 1=1这也就是早期网友口中的万能密码。修复也是很简单的。就把关键字符过滤即可。方法1最简单mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 !方法2打开magic_quotes_gpc来防止SQL注入。php.ini中有一个设置:magic_quotes_gpc = Off这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,比如把 ' 转为 \'等,对于防止sql注射有重大作用。 如果magic_quotes_gpc=Off,则使用addslashes()函数<?php    $field = explode(',', $data);    array_walk($field, array($this, 'add_special_char'));    $data = implode(',', $field);    /**   * 对字段两边加反引号,以保证数据库安全   * @param $value 数组值   */   fu...

评论(0) 2019-9-16
思源工具箱抖音api解析接口更新

思源工具箱抖音api解析接口更新

<?php header('Access-Control-Allow-Origin:*'); header('Content-Type:text/json;charset=utf8'); /**  * @author 小桃子工作室 by思源工具箱  */ if(!array_key_exists('url',$_REQUEST) || !$_REQUEST['url']){ return; } $url = @$_REQUEST['url']; if (!strstr($url,"douyin.com")) { die("请输入抖音分享的地址,如:http://v.douyin.com/acM2kP/"); } preg_match("/http:\/\/v.douyin.com\/\S+/",$url,$res); function curl($url, $header, $getinfo=false) {     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $url);     curl_setopt($ch, CURLOPT_NOBODY, false);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, false);     curl_setopt($ch, CURLOP...

评论(0) 2019-9-15
简单站外跳转页面PHP源码

简单站外跳转页面PHP源码

效果是这样滴~<meta http-equiv="refresh" content="1;url='<?php echo $url;?>';">content是跳转时间用法就是域名/go.php?url=跳转地址主要代码 <?php  $t_url=$_GET['url']; if(!empty($t_url)) {  preg_match('/(http|https):\/\//',$t_url,$matches);  if($matches){  $url=htmlspecialchars($t_url);  $title='亲爱的朋友记得常回来哦...';  } else {  preg_match('/\./i',$t_url,$matche);  if($matche){  $url='http://'.htmlspecialchars($t_url);  $title='亲爱的朋友记得常回来哦...';  } else {  $url='http://www.isiyuan.net/';  $title='参数错误,正在返回首页...';  }  } } else {  $title='参数缺失,正在返回首页...';  $url='http://www.isiyuan.net/'; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <me...

评论(0) 2019-9-14
PHP 常用的header头部定义汇总(转)

PHP 常用的header头部定义汇总(转)

思源简单整理 <?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301 header('Location: http://www.ithhc.cn/'); //跳转到一个新的地址 header('Refresh: 10; url=http://www.ithhc.cn/'); //延迟转向 也就是隔几秒跳转 header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息 header('Content-language: en'); //文档语言 header('Content-Length: 1234'); //设置内容长度 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间 header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变    ###内容类型### header('Content-Type: text/html; charset=utf-8'); //网页编码 header('Content-Type: ...

评论(0) 2019-9-11
原创作品妹子图PHP源码+api接口

原创作品妹子图PHP源码+api接口

没事来唠嗑,你来听我说。几天前涛涛看一个图片网站不错,我就随口一说我给你把图片全扒下来吧。然后python不会,易语言太久没用过了。所以php上了,全自动开扒,创建目录 写入信息 下载图片。然后服务器500。。。 后来改成了半自动用迅雷下载,质量高速度快。今天想把以前写的兔玩的图片解析站换个接口。自己写了个接口,时时刻刻自动更新。前端就是老早以前写的,感谢里面用到的项目的作者,就不一一列举了。正题:响应式布局前台瀑布流ajax无刷新加载,框架打开详情,多功能相册插件展示。这个相册插件也很6 支持全屏 下载 自动播放 缩略图 等等功能。ajax.js文件搜索 url:"http://www.isiyuan.net/meizi/api.php?page="+page,把我的地址改成你的 就可以加载了。跨域问题地址:www.isiyuan.net/meizi下载地址:https://www.lanzous.com/i5sq3sf

评论(10) 2019-8-25
PHP发短信实现方法

PHP发短信实现方法

1要拼接接收的手机号和短信public function sendcode()     {         $parpm = input();         $valist = $this->validate($parpm, [             'phone' => 'require|regex:1[3-9]\d{9}'         ]);         if ($valist !== true) {             $res = [                 'code' => 400,                 'msg' => $valist             ];      ...

评论(0) 2019-8-10
PHP $_SERVER超全局变量详解

PHP $_SERVER超全局变量详解

参考资料:https://www.php.net/manual/zh/reserved.variables.server.php$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。$_SERVER['GATEWAY_INTERFACE']—— 服务器使用的 CGI 规范的版本;例如,“CGI/1.1”。$_SERVER['SERVER_ADDR']—— 当前运行脚本所在的服务器的 IP 地址。$_SERVER['SERVER_NAME'] ——当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。$_SERVER['SERVER_SOFTWARE'] Note: 在 Apache 2 里,必须设置 UseCanonicalName = On 和 ServerName。 否则该值会由客户端提供,就有可能被伪造。 上下文有安全性要求的环境里,不应该依赖此值。$-SERVER['SERVER_SOFTWARE']——服务器标识字符串,在响应请求时的头信息中给出。$_SERVER['SERVER_PROTOCOL']——请求页面时通信协议的名字和版本。例如,'HTTP/1.0'$_SERVER['REQUEST_METHOD']—— 访问页面使用的请求方法。例如,'POST','GET'$_SERVER['']Note:如果请求方法为 HEAD,PHP 脚本将在发送 Header 头信息之后终止(这意味着在产生任何输出后,不再有输出缓冲)。$_SERVER['REQUEST_TIME']——请求开始的时间戳,从 PHP 5.1.0 起可用。$_SERVER['REQUEST_TIME_FLOAT']——请求开始饿时间戳,微秒级别的精准度。自 PHP 5.4.0 开始生效。$_SERVER['...

评论(2) 2019-8-10