php框架

总结做一个PHP项目需要注意哪些问题

我们两清 提交于 2019-12-04 20:03:37
第一,指定是编码规范了,统一的编码规范可以减少注释,也能增加Code review的速度。 中文版PSR规范: https://psr.phphub.org/ 英文版PSR规范: http://www.php-fig.org/psr/ 第二,数据验证,不光是前台数据做验证,后端也要验证,首先前后端的验证规则应该一致同步,因为攻击者很可能不会从你的页面来攻击而是通过CURL等手段来反复提交错误数据,所以后端的验证一定要有而且不能有缩水,一是防止破坏数据库(丢失数据、产生错误数据等),二是防止把Error Message和trace返回给用户,以及那些等着拿你的报错信息分析你的文件结构的人。 第三,配置,首先是Apache配置,dev、production、testing三种环境都要配置好,大多数框架里会有关于调试模式的开关,线上项目一定要关闭这个开关,不要把框架的任何信息暴露给用户。 第四, 尽量不要使用 php的DOM类,DOM本身是一个复杂的,不好处理的东西,会衍生很多问题。 第五,前端在呈现后台传过来的数据的处理。所有用户产生的数据要做escape,即使存入数据库的时候是没有问题的,很有可能再从数据库里拿出来的时候就出现问题了,但是程序本身产生的数据就不用做escape了比如随机字符串、时间等等,常用的escape就是htmlspecialchar,防止二次XSS攻击。

Vue.js连接php调用数据

﹥>﹥吖頭↗ 提交于 2019-12-04 19:28:34
Vue.js连接php调用数据 php步骤如下: vue.js步骤如下: 以下是我的学习总结,我尽量说的详细一些,部分步骤较多,可能会所有省略。 需要软件工具: 安装Vue.js: 是一套用于构建用户界面的渐进式框架 安装Xampp:(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包 PS:调用数据需要安装resource; 第一步:安装命令:npm install vue-resource --save 第二步:在main.js添加 import VueResource from “vue-resource”; Vue.use(VueResource); **思路示意图:** php步骤如下: 测试包/工具: 备注:如需要文件请留言 一、建立php站点 二、连接数据库 三、打开xampp 四、设置端口号 五、进入Apache(httpd.conf)设置文件路径和端口号 备注: 文件路径也就是步骤一的站点的路径,设置端口号避免冲突 六、开始运行xampp vue.js步骤如下: 一、建立vue站点 测试包/工具: 备注:如需要文件请留言 二、创建连接php的组件 三、调用组件 四、cd进入vuedemo04文件,cnpm run dev (我安装的是淘宝镜像,所以在前面加c)运行App.vue 五、运行效果:在body中显示图片 来源: CSDN 作者:

WordPress纯代码实现文章收藏功能

非 Y 不嫁゛ 提交于 2019-12-04 18:27:06
最近在开发我们自己的吉他资源平台-乐瑶吉他的时候,用到了文章收藏的功能,之前做这个功能的时候都是适用的现成的插件,这次不想用那么多的插件了,所以就直接自己用代码写了一下这个文章收藏功能。首先将下面的代码放到您的 functions.php 文件中。 function post_shoucang(){ if(!get_current_user_id()){ exit(json_encode(['msg'=>'请先登录才能收藏哦!'])); } $id = $_POST["id"]; $meta = get_post_meta($id,'shoucang',true); $shoucang1 = explode(',',get_post_meta($id,'shoucang',true)); $shoucang = array_filter($shoucang1); $user = get_current_user_id(); if(in_array($user,$shoucang)){ foreach($shoucang as $k=>$v){ if($v==$user){ unset($shoucang[$k]); } } update_post_meta($id, 'shoucang', implode(",",$shoucang)); exit(json_encode([

Laravel artisan 命令工具

落爺英雄遲暮 提交于 2019-12-04 16:22:31
全局相关 view source print ? 01. php artisan:显示详细的命令行帮助信息,同 php artisan list 02. php artisan –help:显示帮助命令的使用格式,同 php artisan help 03. php artisan –version:显示当前使用的 Laravel 版本 04. php artisan changes:列出当前版本相对于上一版本的主要变化 05. php artisan down:将站点设为维护状态 06. php artisan up:将站点设回可访问状态 07. php artisan optimize:优化应用程序性能,生成自动加载文件,且产生聚合编译文件 bootstrap/compiled.php 08. php artisan dump-autoload:重新生成框架的自动加载文件,相当于 optimize 的再操作 09. php artisanclear-compiled:清除编译生成的文件,相当于 optimize 的反操作 10. php artisan migrate:执行数据迁移 11. php artisan routes:列出当前应用全部的路由规则 12. php artisan serve:使用 PHP 内置的开发服务器启动应用 【要求 PHP 版本在 5.4 或以上】

workerman源码解读01

最后都变了- 提交于 2019-12-04 15:05:57
序言 Workerman,高性能socket服务框架 Workerman是什么? Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架。 Workerman不是重复造轮子,它不是一个MVC框架,而是一个更底层更通用的socket服务框架,你可以用它开发tcp代理、梯子代理、做游戏服务器、邮件服务器、ftp服务器、甚至开发一个php版本的redis、php版本的数据库、php版本的nginx、php版本的php-fpm等等。Workerman可以说是PHP领域的一次创新,让开发者彻底摆脱了PHP只能做WEB的束缚。 实际上Workerman类似一个PHP版本的nginx,核心也是多进程+Epoll+非阻塞IO。Workerman每个进程能维持上万并发连接。由于本身常住内存,不依赖Apache、nginx、php-fpm这些容器,拥有超高的性能。同时支持TCP、UDP、UNIXSOCKET,支持长连接,支持Websocket、HTTP、WSS、HTTPS等通讯协以及各种自定义协议。拥有定时器、异步socket客户端、异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。 Workerman的一些应用方向 Workerman不同于传统MVC框架,Workerman不仅可以用于Web开发,同时还有更广阔的应用领域,例如即时通讯类、物联网

腾讯云 安装 lnmp phpmyadmin

不羁岁月 提交于 2019-12-04 12:29:58
ubuntu 系统 安装yum 出错 需要升级sudo apt-get update 用yum安装nginx报错 No package nginx available 解决方法:用apt-get sudo service ngnix start 查看nginx是否生效 wget http://127.0.0.1 一直是在用的lnmp的集成安装包搭建lnmp环境,因为工作需要需要安装ldap扩展,在网上怎么都找不到源码安装包,只能卸载掉原来的lnmp环境,用ubuntu的php5-ldap扩展, 在安装中遇到一些问题,网上的文章坑爹的比较多,写篇文章记录下来。 1.安装mysql sudo apt-get install mysql-server mysql-client 安装过程中要输入root用户的密码。 我在安装中出错,是原来的mysql-cilent mysql-workbench 未完全卸载,将mysql组件完全卸载的方法: 删除mysql前 先删除一下 /var/lib/mysql 还有 /etc/mysql sudo rm /var/lib/mysql/ -R sudo rm /etc/mysql/ -R sudo apt-get autoremove mysql* --purge sudo apt-get remove apparmor 全部删除之后再执行 apt

Phalcon环境搭建与项目开发

懵懂的女人 提交于 2019-12-04 11:11:49
简介 Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。 开发者不需要学习和使用 C 语言的功能, 因为所有的功能都以 PHP 类的方式暴露出来,可以直接使用。 Phalcon 也是松耦合的,可以根据项目的需要任意使用其他对象。 官网: https://phalconphp.com/ 源码: https://github.com/phalcon/cphalcon/ 编译与安装 我这里使用的是docker来搭建运行环境,Dockerfile文件如下: FROM daocloud.io/library/php:7.0.10-fpm MAINTAINER Minho <longfei6671@163.com> RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ libpcre3-dev \ gcc \ make \ bzip2 \ libbz2-dev \ libmemcached-dev \ git \ && rm -rf /var/lib/apt/lists/* \ && docker-php-ext-install mbstring \ && docker-php

PHP实现用户异地登录提醒功能的方法

给你一囗甜甜゛ 提交于 2019-12-04 08:44:21
有时候你的网站账号被盗或你在别处登录操作后台时,右下角会弹出提示信息,提醒你的账号异地登录,或者会被强制下线。对于这种安全性要求比较高的web网站,很多后台管理都会做这种功能提醒。 甄别自己的账号是否被盗或者是否有另一个人此刻登陆了在进行后台操作,这些都是很不安全的,为了避免两个人同时登录同时操作,可强制下线一个账号。我们今天就来讲解这个知识点。 当然,通过IP判断是不行的,因为IP是随时会在某一个网段内变化的,不过有一个机制,那就是session,恰巧可以解决这个,只要你使用同一个浏览器访问网站,浏览器不关闭每个来访者的session_id是不变的,这也正是解决这个问题需要的。 以TP5.0框架搭建的网站后台为例;用哪各框架都一样 (1)修改数据库用户表 在user表中,增加一个字段`session_id` varchar(32),用来存放登录之后的session_id。 (2)用户登录 用户登录,就是正常的判断账号密码以及验证码,当这些都验证通过的时候,取出当前的session_id存入数据库user表中。 (3)解决异地登录问题 对于后台操作,为了便于验证和操作安全,基本都会先创建一个公共控制器Common去继承控制器基类,然后后台的其他操作控制器都继承这个公共控制器。对于后台的每一步操作之前,用户状态的检测都放在Common控制器的__construct构造方法中。 现在在

php bootstrap-datetimepicker

自闭症网瘾萝莉.ら 提交于 2019-12-04 08:07:16
    开发语言:php     框架:thinkphp 3.2     问题:搜索条件 开始时间--结束时间     解决工具: bootstrap-datetimepicker 插件      时间插件组合用法 1.公用部分 css: bootstrap.min.css js:jquery-1.10.2.min.js 2特有部分 datatime组合 css:bootstrap-datetimepicker.min.css js:bootstrap-datetimepicker.js bootstrap-datetimepicker.zh-CN.js $(".picker").datetimepicker({format: 'yyyy-mm-dd hh:ii'//日期格 式}) date组合 css:bootstrap-datepicker.min.css js:bootstrap-datepicker.js bootstrap-datepicker.zh-CN.js $(".picker").datepicker({format: 'yyyy-mm-dd'//日期格式}) time组合 css:bootstrap-timepicker.min.css js:bootstrap-timepicker.js bootstrap-datepicker.zh-CN.js $("

PHP的CI框架使用方式小结

丶灬走出姿态 提交于 2019-12-04 05:56:02
  CI是PHP的一个框架,使用该框架可以使得我们的代码更简洁,具有较高的可维护性。CI框架是基于MVC进行使用的。MVC是简称,M是指模型(Model),通常是用于处理数据,与数据库的打交道的。V是指视图(View),是用来定义如何显示数据以及其他内容的。C是指控制器(Controller),是处理模型和视图的工具。我们的CI框架是基于MVC的,我们将程序分为模型,视图和控制器三个部分。上次,我们已经用php完成了一个小程序,这次就把这个小程序整合为CI框架。index.php是入口文件,入口文件是不能改动的。我们只需要写好控制器,就可以通过调用模型和视图来访问页面了。 下面就是该程序整合到CI框架的代码: Controller project.php <?php class project extends CI_Controller{   function __construct()   {     parent::__construct();     $this->load->model('project_model');    }   public function index()   {     $this->load->view('project_view');   }   //保存数据的的方法   function save(){     //调用project