首页
关于
统计
友联
留言
壁纸
Search
1
微信支付电子发票接入介绍
84 阅读
2
宝塔 设置 SSH 通过密钥登录
83 阅读
3
laravel 使用当中碰到的问题
75 阅读
4
laravel 关于 options请求的处理
62 阅读
5
linux关闭ssh密钥登录(禁止免密登录)
56 阅读
默认分类
后端积累
前端积累
日记
数据库
项目
登录
Search
阳
累计撰写
38
篇文章
累计收到
222
条评论
首页
栏目
默认分类
后端积累
前端积累
日记
数据库
项目
页面
关于
统计
友联
留言
壁纸
搜索到
25
篇与
后端积累
的结果
2022-05-08
linux关闭ssh密钥登录(禁止免密登录)
liinux环境免密登录配置好之后,修改完密码,免密方式不受改密码的影响,还能直接免密登录,阻止免密登录方式有也有很多,两个思路1、破坏密钥可以修改密钥的权限,使其不能读写 chmod 000 +密钥路径 ,删除,移动密钥,2、在ssh配置文件里面进行限制,编辑ssh配置文件编辑ssh配置文件vim /etc/ssh/sshd_config找到#PasswordAuthentication yes 修改为PasswordAuthentication no重新加载修改的配置文件systemctl restart sshd (这里是centos,其它发行版本自行搜索)
2022年05月08日
56 阅读
17 评论
0 点赞
2022-01-09
宝塔 设置 SSH 通过密钥登录
SSH连接工具制作密钥 如:Xshell 我使用的是Xshell 7 密钥管理找不到???如下: 这里说明一下Xshell生成密钥对是没有私钥的 只需要把公钥保存为文件上传到服务器即可如果是服务器生成密钥对 只需要把私钥下载到本地 即可 服务器上安装公钥 服务器生成密钥对 只需要执行以下步骤 cd /root/.ssh/ cd .ssh 和 cd /root/.ssh 是一样的 因为我登录的就是root 用户 不管你是使用Xftp 还是 rz 上传只需要把公钥上传到 /root/.ssh/ 这个目录下即可 cat id_rsa_2048.pub >> authorized_keys 最后一步也是最重要一点就是 将公钥导入到“authorized_keys”文件 到此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:[root@host .ssh]$ chmod 600 authorized_keys [root@host .ssh]$ chmod 700 ~/.ssh 最后重启ssh服务 [root@host .ssh]$ service sshd restart 尝试使用ssh密钥登录 如果是服务器生成密钥对只需要把私钥下载到本地 然后登陆的时候使用私钥文件登录即可登录成功之后进入宝塔关闭ssh密码登录即可 关闭之后再次登录如下: 到此ssh密钥登录就完了
2022年01月09日
83 阅读
40 评论
0 点赞
2021-11-16
laravel 关于 options请求的处理
项目介绍前端用的uniapp后端使用laravel 8.0版本laravel 有一套自己的关于跨域的插件不用特别的处理 fruitcake/laravel-cors 但是如果是前后端分离的项目,我们公司的项目用的uniapp和laravel做的项目所有的请求之前会有options请求,找了很多资料要用路由里面加逻辑感觉不太好贴代码 加中间件<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class CrossHttp { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle(Request $request, Closure $next) { if($request->getMethod() === 'OPTIONS'){ return response('Hello World', 200) ->header('Access-Control-Allow-Origin', '*') ->header('Access-Control-Allow-Headers', '*'); } $response = $next($request); // $response->header('Access-Control-Allow-Origin', '*'); // $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept'); // $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS'); return $response; } } 在服务里面注册中间件打开 app/Http/Kernel.php protected $middleware = [ \App\Http\Middleware\CrossHttp::class, ];
2021年11月16日
62 阅读
28 评论
0 点赞
2021-11-12
领外卖券安装文档
1 php常用扩展需要安装 phpinfo 2 图片资源创建软连接 ln -s /www/wwwroot/waimai.henanrongxing.com/storage/app/public/ /www/wwwroot/waimai.henanrongxing.com/public/storage3 登录添加签名php artisan jwt:secret 登录美团分销联盟,点击【API文档】-【渠道IP地址管理】
2021年11月12日
21 阅读
2 评论
0 点赞
2021-10-27
workman设置ssl访问(域名/wss访问形式)
设置 域名/wss访问形式 nginx配置文档server { listen 80; listen 443 ssl http2; server_name www.dingdiansuyun.com; location /wss { proxy_pass https://127.0.0.1:3671; proxy_redirect off; proxy_read_timeout 86400; } }workman代码.记得证书一定要替换<?php use GatewayWorker\Gateway; $context = array( // 参考手册 http://php.net/manual/zh/context.ssl.php 'ssl' => array( 'local_cert' => __DIR__.'/ssl/server.pem', // 也可以是crt文件 'local_pk' => __DIR__.'/ssl/server.key', 'verify_peer' => false, // 'allow_self_signed' => true, //如果是自签名证书需要开启此选项 ) ); $gate = new Gateway("websocket://0.0.0.0:3671",$context); $gate->transport = 'ssl'; $gate->startPort = 2001; $gate->name = 'Gateway'; $gate->pingInterval = 55; $gate->pingNotResponseLimit = 1; $gate->registerAddress = '127.0.0.1:1234';
2021年10月27日
22 阅读
0 评论
0 点赞
2021-10-03
微擎后台调用地图
微擎后台开发的时候经常需要调用地图。腾讯地图:<div class="form-group"> <label class="col-xs-12 col-sm-3 col-md-2 control-label">位置</label> <div class="col-sm-9 col-xs-12"> <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=你自己的KEY"></script> <script type="text/javascript"> function showCoordinate(elm) { require(["util"], function(util){ var val = {}; val.lng = parseFloat($(elm).parent().prev().prev().find(":text").val()); val.lat = parseFloat($(elm).parent().prev().find(":text").val()); util.qqmap(val, function(r){ $(elm).parent().prev().prev().find(":text").val(r.lng); $(elm).parent().prev().find(":text").val(r.lat); }); }); } </script> <div class="row row-fix"> <div class="col-xs-4 col-sm-4"> <input type="text" name="map[lng]" value="108.896566" placeholder="地理经度" class="form-control" /> </div> <div class="col-xs-4 col-sm-4"> <input type="text" name="map[lat]" value="34.227563" placeholder="地理纬度" class="form-control" /> </div> <div class="col-xs-4 col-sm-4"> <button onclick="showCoordinate(this);" class="btn btn-default" type="button">选择坐标</button> </div> </div> </div> </div>百度地图:<div class="form-group"> <label class="col-xs-12 col-sm-3 col-md-2 control-label">位置</label> <div class="col-sm-9 col-xs-12"> <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=你自己的KEY&s=1"></script><script type="text/javascript"> function showCoordinate(elm) { require(["util"], function(util){ var val = {}; val.lng = parseFloat($(elm).parent().prev().prev().find(":text").val()); val.lat = parseFloat($(elm).parent().prev().find(":text").val()); util.map(val, function(r){ $(elm).parent().prev().prev().find(":text").val(r.lng); $(elm).parent().prev().find(":text").val(r.lat); }); }); } </script> <div class="row row-fix"> <div class="col-xs-4 col-sm-4"> <input type="text" name="map[lng]" value="108.896566" placeholder="地理经度" class="form-control" /> </div> <div class="col-xs-4 col-sm-4"> <input type="text" name="map[lat]" value="34.227563" placeholder="地理纬度" class="form-control" /> </div> <div class="col-xs-4 col-sm-4"> <button onclick="showCoordinate(this);" class="btn btn-default" type="button">选择坐标</button> </div> </div> </div> </div>注意:如果出现鉴权失败的话,请打开配置文件修改key 文件路径:/web/resource/js/app/config.js 搜索qqmap文件路径:/web/resource/js/require.js 搜索qqmap
2021年10月03日
31 阅读
0 评论
0 点赞
2021-08-29
微擎本地开发遇到的问题
在本地开发环境开发微擎模块时,有时会遇到无法安装的情况,如下图所示: 打开微擎文件:web/source/module/manage-system.ctrl.php找到以下代码注释,然后再到后台去安装即可。
2021年08月29日
24 阅读
0 评论
0 点赞
2021-08-05
Dcat Admin 常见问题
laravel 配置后台 为https,登录不上的问题//找到.env修改这个 ADMIN_HTTPS=true//使用 laravl 需要解禁的函数 proc_open
2021年08月05日
43 阅读
1 评论
0 点赞
2021-07-23
laravel+workerman/gateway-worker 从安装到运行
使用composer安装安装 gateway-workercomposer require workerman/gateway-worker创建 Workerman 启动文件用artisan命令创建command文件// 创建一个artisan command文件 // 生成的文件路径: Console\Commands\GatewayWorkerServer.php php artisan make:command GatewayWorkerServer2.2 GatewayWorkerServer.php 写入以下内容<?php namespace App\Console\Commands; use Illuminate\Console\Command; use GatewayWorker\BusinessWorker; use GatewayWorker\Gateway; use GatewayWorker\Register; use Workerman\Worker; class GatewayWorkerServer extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'workman {action} {--d}'; /** * The console command description. * * @var string */ protected $description = 'Start a Workerman server.'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { // global $argv; $action = $this->argument('action'); $argv[0] = 'artisan workman'; $argv[1] = $action; $argv[2] = $this->option('d') ? '-d' : ''; //必须是一个-,上面定义命令两个--,后台启动用两个-- $this->start(); } private function start() { $this->startGateWay(); $this->startBusinessWorker(); $this->startRegister(); Worker::runAll(); } private function startBusinessWorker() { $worker = new BusinessWorker(); $worker->name = 'BusinessWorker'; $worker->count = 1; $worker->registerAddress = '127.0.0.1:1236'; $worker->eventHandler = \App\GatewayWorker\Events::class; } private function startGateWay() { $gateway = new Gateway("websocket://0.0.0.0:2346"); $gateway->name = 'Gateway'; $gateway->count = 1; $gateway->lanIp = '127.0.0.1'; $gateway->startPort = 2300; $gateway->pingInterval = 30; $gateway->pingNotResponseLimit = 0; $gateway->pingData = '{"type":"ping"}'; $gateway->registerAddress = '127.0.0.1:1236'; } private function startRegister() { new Register('text://0.0.0.0:1236'); } //php artisan workman start --d 之后 打开浏览器F12 将内容复制到console里return就行 /* ws = new WebSocket("ws://192.168.136.128:2346"); ws.onopen = function() { ws . send('{"name":"one","user_id":"111"}'); ws . send('{"name":"two","user_id":"222"}'); }; ws.onmessage = function(e) { console.log("收到服务端的消息:" + e.data); }; ws.onclose = function(e) { console.log("服务已断开" ); };*/ } 创建事件监听文件在app目录下新建目录GatewayWorker, 然后在该目录下新建文件Events.php , 然后写入以下内容<?php /** * Created by PhpStorm. * User: dozhihong * Date: 2020/5/3 * Time: 15.19 */ namespace App\GatewayWorker; use GatewayWorker\Lib\Gateway; use Illuminate\Support\Facades\Log; class Events { public static function onWorkerStart($businessWorker) { echo "onWorkerStart\r\n"; } public static function onConnect($client_id) { Gateway::sendToClient($client_id, json_encode(['type' => 'onConnect', 'client_id' => $client_id])); echo "onConnect\r\n"; } public static function onWebSocketConnect($client_id, $data) { echo "onWebSocketConnect\r\n"; } public static function onMessage($client_id, $message) { Gateway::sendToClient($client_id, json_encode(['type' => 'onMessage', 'client_id' => $client_id, 'name' => json_decode($message)->name])); echo "onMessage\r\n"; } public static function onClose($client_id) { Log::info('Workerman close connection' . $client_id); echo "onClose\r\n"; } } 测试4.1 部署一台linux服务器1. pcntl_fork() 2. pcntl_wait() 3. pcntl_signal_dispatch() 4. pcntl_signal() 5. pcntl_alarm()4.2 把代码部署在linux服务器上php artisan workman4.3 测试连接打开浏览器, 输入网站随便一个页面, F12打开控制台, 输入代码ws = new WebSocket("ws://58.87.95.128:2346")观查network,Status为101, 就是成功
2021年07月23日
30 阅读
0 评论
0 点赞
2021-07-05
laravel 使用当中碰到的问题
图片上传之后,不展示php artisan storage:linkDcat-admin常用操作//生成表单类文件: php artisan admin:form Setting //迁移回滚 php artisan migrate:rollback --step=3 //创建表迁移 php artisan make:migration create_users_table //执行迁移 php artisan migrate //创建数据详情动作 php artisan admin:action //创建控制器 php artisan make:controller TestController//laravel 添加数据 //方式1 $user = User::create(array('email' => 'xx@yy.zz','password'=>'mypassword')); $user = new User; $user->email = 'xx@yy.zz'; $user->password = 'mypassword'; $user->save();
2021年07月05日
75 阅读
31 评论
0 点赞
1
2
3