摘要: 我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦。 那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手: 1.从前端做限制。前端JavaScript在 阅读全文
posted @ 2017-10-19 22:33 苍山雪洱海月 阅读(343) 评论(0) 推荐(0)
摘要: 今天在开发时碰到一种方法,就是客户要求页面不缓存,查了一下得出如下几种不让页面缓存的办法: html:只要加在头部就可以了. 代码如下: 1 <HEAD> 2 <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 3 <META HTTP-EQUIV="Cach 阅读全文
posted @ 2017-10-19 22:28 苍山雪洱海月 阅读(238) 评论(0) 推荐(0)
摘要: 在 PHP中,经常会对用户身份进行认证。本文意在讨论对密码的处理,也就是对密码的加密处理。 1.MD5 相信很多PHP开发者在最先接触PHP的时候,处理密码的首选加密函数可能就是MD5了,我当时就是这样的: 1 $password = md5($_POST["password"]); 上面这段代码是 阅读全文
posted @ 2017-10-19 22:21 苍山雪洱海月 阅读(384) 评论(0) 推荐(0)
摘要: 1.Md5加密和Crypt都是单向加密: 登陆时把登录密码转为md5值,然后和数据库中的进行比较。 其中crypt中的盐值支持多种: 以CRYPT_STD_DES是以/0-9A-Za-z/中的两个字符为盐值,如果是以CRYPT_MD5中以$1$开始的12个字符的字符串盐值 例如:crypt('imo 阅读全文
posted @ 2017-10-19 22:14 苍山雪洱海月 阅读(1750) 评论(0) 推荐(0)
摘要: 1.header() 函数向客户端发送原始的 HTTP 报头。 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题): 要限制一个用户不能访问该页,则可设置状态为404,如下所示,这样浏览器就显示为即该页不 阅读全文
posted @ 2017-10-19 22:06 苍山雪洱海月 阅读(885) 评论(0) 推荐(0)
摘要: 一维数组排序可以使用asort、ksort等一些方法进程排序,相对来说比较简单。二维数组的排序怎么实现呢?使用array_multisort和usort可以实现 例如像下面的数组: $users = array( array('name' => 'tom', 'age' => 20) , array 阅读全文
posted @ 2017-10-19 22:00 苍山雪洱海月 阅读(710) 评论(0) 推荐(0)
摘要: 如何实现刷新当前页面呢?借助js你将无所不能。 1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的 阅读全文
posted @ 2017-10-19 21:53 苍山雪洱海月 阅读(1165) 评论(0) 推荐(0)
摘要: 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转我总结了三种方式,跟大家共享一下1.ng 阅读全文
posted @ 2017-10-19 21:47 苍山雪洱海月 阅读(3777) 评论(0) 推荐(0)
摘要: 一、启动 cd /usr/local/nginx/sbin ./nginx 二、重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者cd /usr/local/nginx/sbin ./nginx -s reload 判断配置文件是否正确 ./nginx -t -c /u 阅读全文
posted @ 2017-10-19 21:40 苍山雪洱海月 阅读(1600) 评论(0) 推荐(0)
摘要: 使用场景:城市列表等根据首字母排序的场景 1 function getFirstCharter($str) 2 { 3 if (empty($str)) { 4 return ''; 5 } 6 $fchar = ord($str{0}); 7 if ($fchar >= ord('A') && $ 阅读全文
posted @ 2017-10-19 21:38 苍山雪洱海月 阅读(279) 评论(0) 推荐(0)
摘要: 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险并经常会出现一些问题,今天我们就一起来看看eval函数对数组的操作及php 如何禁用eval() 函数: 1 <?php 2 $data = "array('key1'=>'value1','key2'=>'value2',' 阅读全文
posted @ 2017-10-19 21:33 苍山雪洱海月 阅读(3600) 评论(0) 推荐(0)
摘要: 1.array_walk($arr, $func, [$data]) 使用用户自定义的函数遍历所有的元素,返回true/false $func是一个函数名 默认会传入两个参数 第一个 $arr的值, 第二个$arr的下标, 一对一对的传哦 1 <?php 2 $arr = array('a', 'b 阅读全文
posted @ 2017-10-19 21:30 苍山雪洱海月 阅读(332) 评论(0) 推荐(0)
摘要: $data = file_get_contents("php://input"); php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而 阅读全文
posted @ 2017-10-19 21:24 苍山雪洱海月 阅读(40132) 评论(0) 推荐(0)
摘要: 本文基于php语言使用加锁实现并发情况下抢码功能,特定时间段开放抢码并不允许开放的码重复: 需求:抢码功能 要求: 1、特定时间段才开放抢码; 2、每个时间段放开的码是有限的; 3、每个码不允许重复; 实现: 1、在不考虑并发的情况下实现: 1 function get_code($len){ 2 阅读全文
posted @ 2017-10-19 21:13 苍山雪洱海月 阅读(384) 评论(0) 推荐(0)
摘要: PHP同时连接多个mysql数据库的具体实现 方法一: 1 <?php 2 $conn1 = mysql_connect("127.0.0.1", "root","root","db1"); 3 mysql_select_db("Muma", $conn1); 4 $conn2 = mysql_co 阅读全文
posted @ 2017-10-19 21:02 苍山雪洱海月 阅读(7055) 评论(0) 推荐(0)
摘要: PHP中对多维数组特定列的提取,是个很常用的功能,正因为如此,PHP在5.5.0版本之后,添加了一个专用的函数array_column()。当然,如果你的PHP版本低于5.5.0,就得用别的方法处理了。 例如,对于以下这个数组: $user = array( '0' => array('id' => 阅读全文
posted @ 2017-10-19 18:06 苍山雪洱海月 阅读(612) 评论(0) 推荐(0)
摘要: 如果你使用 curl 获取的 xml data $xml = simplexml_load_string($data); $data['tk'] = json_decode(json_encode($xml),TRUE); 如果是直接获取 URL 数据的话 $xml = simplexml_load 阅读全文
posted @ 2017-10-19 18:01 苍山雪洱海月 阅读(9640) 评论(0) 推荐(0)
摘要: 1.php -v返回版本 -i选项返回安装的有关信息 -h访问帮助文件 -m列出编译到当前PHP安装的全部模块 CLI与CGI区别: 在命令行脚本环境中,有两种版本的PHP可以使用,旧版本是CGI(公共网关接口),这是针对Web页面设计的,但是也可以用于解释性语言编程,唯一的确定是需要强制其行为,否 阅读全文
posted @ 2017-10-19 12:59 苍山雪洱海月 阅读(1773) 评论(0) 推荐(0)
摘要: 1.在unix系统中,使用popen和pclose可以创建管道(通信途径)来连接到其他程序。 2.能够执行服务器命令的php函数有: exec(commond,$output) 接收一个命令,把得到的结果返给$output system() 直接返回输出结果,可以直接发给浏览器 passthru(c 阅读全文
posted @ 2017-10-19 10:33 苍山雪洱海月 阅读(7500) 评论(0) 推荐(0)