背景
站点网上飘,哪有不挨刀。总是遇到千奇百怪的问题,让人猝不及防。在5月1日的前一天,发现博客被人镜像了,这是一个非常糟心的问题,我非常肯定的是这次的镜像不怀好意。为什么我会这么说呢?因为镜像站点域名太不像话了,太长了,有没有特殊的含义,所以我认为这种镜像网站是非常有恶意的。如下图:
镜像站点域名
JavaScript简单紧急处理
这种恶意的镜像站点无法绝对的杜绝,只能尽可能的减小影响。此次处理非常简单,直接使用Javascript对当前域名进行判断,与指定域名不符就跳转回指定的域名。
版本一
var local=window.location.host;
if(local.indexOf("skyfinder.cc")==-1){
location.href = location.href.replace(local,"skyfinder....
4年前 (2021-05-02) 1385℃ 0评论
14喜欢
发现Centos系统中出现了很多 TIME-WAIT的空闲连接,连接资源感觉即将耗尽,并且这些TIME-WAIT释放缓慢。
配置修改
vi /etc/sysctl.conf
编辑文件,加入以下内容:
# 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1
# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse = 1
# 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle = 1
# 修改系統默认的TIMEOUT时间
net.ipv4.tcp_f...
4年前 (2021-04-21) 2174℃ 0评论
26喜欢
背景
jenkins突然无法自动构建镜像,经过确认并非是无法构建,而是磁盘空间满了。 关于手动清理Docker日志的方法,自己曾经也处理过,但是容器多起来就相当麻烦。
在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件.
查看
#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
清理
#!/bin/sh
echo "======== start clean docker ...
4年前 (2021-04-10) 1667℃ 0评论
26喜欢
docker build 或是 pull 命令就会产生临时镜像。
//删除无效的临时镜像
docker rmi $(docker images -f "dangling=true" -q)
其他方法
停止容器
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
删除容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
删除镜像
docker rmi $(docker images | grep "none" | awk '{print $3}')
转载请注明:清风亦平凡 » 删除Docker中为none的Image/镜像...
4年前 (2021-04-08) 1141℃ 0评论
3喜欢
TFS与解决方案绑定信息清理
tfs与解决方案之间有相关信息需要清理,以下是相关的清理步骤。
删除关联文件以及文件夹
删除项目目录下所有的*.vssscc、*.vspscc为后缀的文件,删除隐藏文件夹$tf
修改项目的解决方案文件
在目录中找到以*.sln为后缀名的解决方案文件,打开文件进行编辑。删除TeamFoundationVersionControl所在的整块内容并保存。
GlobalSection(TeamFoundationVersionControl) = preSolutionSccNumberOfProjects = 2SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}SccTeamFoundationServer = http:///tfs/defaultcol...
4年前 (2021-03-26) 1547℃ 0评论
20喜欢
博客园是国内最出名的IT从业者的技术交流社区。
博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。
不知为何,浏览博客园任何帖子都会跳转到整改公告,具体整改原因不详!也不晓得哪里违规了!不管怎么样,希望尽快完成整改,合规合法运营!
为了遵守相关法律法规,合法合规运营,网站进行全面整改,整改工作于2021年3月18日12:00开始,预计于3月25日11:59结束,整改期间全站无法发布任何内容,之前发布的内容重新审核后才能访问,由此给您带来很大的麻烦,请您谅解。
转载请注明:清风亦平凡 » 博客园整改...
4年前 (2021-03-21) 1300℃ 0评论
13喜欢
因局域网源代码管理服务器地址做了变更,所以就重新更改下HOST文件中的IP地址。意外发现HOST文件中多了一条记录,而我对这条记录竟然没有一点印象。好奇怪!!!!哪来的呢?172.17.187.161 windows10.microdone.cn,其中IP172.17.187.161又是本地局域网。然后就通过浏览器尝试访问域名windows10.microdone.cn,结果根本无法连接,最后尝试了顶级域microdone.cn,这下就出现了内容。如下图所示:
我仔细回忆一下,自己最近几天究竟做了什么,好像也没有做什么呀!于是,我就在控制面板中打开程序和功能查看一下。最近几个月的程序安装记录,由安装时间来看,也没有太多内容。如下图所示:
我结合之前打开域名microdone.cn来看,这条HOST记录必然和中国邮政储蓄银行网上银行安全控件有关。看到了...
4年前 (2021-03-15) 1891℃ 0评论
7喜欢
背景
因有一个需求,需要在线浏览PDF文件。所以,需要找一个满足需求的解决方案。经过一些列资料搜寻,最终确定使用PDF.js插件。目前来说此插件完美满足需求。
PDF.js
一个通用的、基于web标准的、用于解析和呈现pdf的平台。
PDF.js项目在线预览效果
转载请注明:清风亦平凡 » 可以在线浏览PDF的一个WEB标准插件PDF.js...
4年前 (2021-03-01) 1230℃ 0评论
24喜欢
Visual Studio Code 安装php插件后提示:
PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting
打开VS Code设置查找到php.validate.executablePath进行修改,其值是php安装目录。
{
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"java.semanticHighlighting.enabled": true,
"php...
4年前 (2021-01-07) 4779℃ 0评论
20喜欢
一年前的一个项目,有人反馈上传超时,超时原因是文件大小超出限制。由于原来维护项目的人员离开,现在上传超时的问题就有我来处理。解决方案也比较简单,就是切片上传。前端不想自己写了,就利用了上传组件,这个上传组件是百度的WebUploader。WebUploader这个组件被使用的也比较广泛,为了省事就用它啦!
上传中
合并后
代码实现
前端代码
前端上传以及分片使用的百度上传组件WebUploader
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
...
4年前 (2020-12-31) 3076℃ 0评论
8喜欢
由于客户突然要进行国产化的一个要求,数据库使用更换了国产的达梦数据库,将数据由Oracle数据库迁移到达梦数据库。所以,之前基于Oracle处理的一些功能就需要进行一些调整。
使用NuGet 引入达梦数据提供器DmProvider
引用相关的组件后,就按照套路对已经存在的方法进行相关调整,结果出现了一些编译出错且无论如何调整都无法消除。如下:
错误 CS1705 标识为“Dm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的程序集“Dm”所使用的“System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”版本高于所引用的标识为“System.Runtime, Version=4.1.2.0, ...
4年前 (2020-12-07) 1801℃ 0评论
3喜欢
一台Linux局域网服务器,突然发现不能访问外网,也许本来就不行,因为没有用到外网,所以只是没有注意到吧!经过测试外网无法访问,内网畅行无阻。如下:
[root@offline-200 services]# wget baidu.com–2020-11-03 17:56:58– http://baidu.com/正在解析主机 baidu.com (baidu.com)… 失败:未知的名称或服务。wget: 无法解析主机地址 “baidu.com”
[root@offline-200 services]# ping 192.168.2.3PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data.64 bytes from 192.168.2.3: icmp_seq=1 ttl=128 time=0.3...
4年前 (2020-11-16) 1652℃ 0评论
1喜欢
背景
接手别人项目进行维护,使用Mysql 8.0 数据库正确还原,但是项目却无法启动,经过调试发现以下问题。
MySqlException Authentication method ‘caching_sha2_password’ not supported by any of the available plugins。
通常的报这个错误是因为它的身份验证方式是 mysql_native_password ,不是caching_sha2_password导致。
Mysql 官方相关资料:https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html
解决方法
首先找到MySql 8.0 的安装目录,看一下是否存在my...
5年前 (2020-10-05) 4530℃ 0评论
8喜欢
背景
因业务需求,需要与第三方进行融合登录。第三方融合登录接口有关于验签的要求,将解密的数据按照规定的顺序进行MD5进行签名验证并与提供的MD5签名作为对比。其加密的明文是Json字符串,解密后还原后要按照URl参数的形式进行排列进行MD5签名。
规定
加密参数(注:加密参数名称均为小写字母,没有使用驼峰法命名)
名称类型默认值简介sourceidString必传来源标识targetidString必传目标标识usercodeString必传用户唯一标识usernameString用户姓名idcardString身份证号码phoneString手机号码ounameString部门名称timeString必传当前时间戳,精确到毫秒
签名数据采用以上面表格顺序以及以下格式进行字段拼接
sourceid=skyfinder&targetid=sky&...
5年前 (2020-09-08) 1289℃ 0评论
6喜欢
构建了自己常用的基础镜像,就打算推送到Docker Hub上。首先使用docker login 进行登录,然后就使用docker push 执行镜像推送,最后返回错误信息如下:
denied: requested access to the resource is denied
如下图:
在网上找了下相关信息,大部分都是说认证、登录等信息,按照相关信息试一试也没有什么用。最后发现是镜像名称不符合Docker规范,从而导致了镜像推送被拒绝。
推送的镜像命名规范如下:
登录名/镜像名称:标签
例如:
skyfinder/microsoft-dotnet-2.1-aspnetcore-runtime-libgdiplus:latest
如果现有的镜像名称不符合规范,可以使用tag打一个标签,如下:
docker tag skyfin...
5年前 (2020-09-03) 1778℃ 0评论
0喜欢
背景
因某些需求,需要与合作单位进行相应的数据交互,而交互均使用了加密方式处理并用MD5作为签名,以便校验传输内容是否遭到篡改。
MD5
md5是一种信息摘要算法,它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,并且一个文件所对应的MD5摘要是固定的,当文件内容变化后,其MD5值也会不一样,因此,在应用中经常使用MD5值来验证一段数据有没有被篡改。
.NET CORE 实现MD5
以下简单实现,支持返回大小写、32位以及16位MD5字符串。
public static class EncryptionMd5
{
/// <summary>
/// md5加密
/// </summary>
/// <param name="conten...
5年前 (2020-09-02) 3551℃ 0评论
10喜欢
背景
因业务需求,需要与其他平台实现融合登录,根据提供融合登录方的文档内容,对AES加密解密相关内容使用.NET CORE来进行一次实现。以下记录实现AES加解密后的内容,便以后备用。
AES
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128 比特,密钥长度则可以是128、192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB、AES-C...
5年前 (2020-09-02) 2892℃ 0评论
1喜欢
因业务需求,需要进行融合登录,根据提供融合登录方的文档内容,对AES加密解密相关内容使用.NET CORE来进行一次实现。使用.NET CORE完成后,根据文档提到的密文进行解密,很遗憾解密无法完成。最终根据提供的Java文件进行相关确认,发现文档中所表述内容与Java示例文件中出现诸多不一致的地方。最后经过咨询并确认了以Java示例文件中的内容为准,所以此处记录一下这个AES加密解密的方法。
import java.security.Key;
import java.util.Arrays;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* AES加密工具类
*
*/
public...
5年前 (2020-09-01) 1396℃ 0评论
2喜欢
HTTP服务器Apache
Apache HTTP Server Project是一项协作软件开发工作,旨在创建HTTP(Web)服务器的健壮,商业级,功能强大且可免费使用的源代码实现。该项目由世界各地的一组志愿者共同管理,使用Internet和Web进行通信,计划和开发服务器及其相关文档。该项目是Apache Software Foundation的一部分。另外,成百上千的用户为该项目贡献了想法,代码和文档。
Apache HTTP Server 下载
打开Apache HTTP Server官网:http://httpd.apache.org
点击Download
点击Files for Microsoft Windows链接
点击ApacheHaus
点击下载完成。
Apache HTTP Se...
5年前 (2020-08-14) 2871℃ 0评论
8喜欢
使用asp .net core 2.1使用自带的依赖注入,自带的依赖注入是构造函数注入。有些情况,构造函数注入并不能满足需求,所以需要使用其他方法获取指定实例。
public interface IEngine
{
/// <summary>
/// 类型构建
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
object Resolve(Type type);
}
public class GetEngine: IEngine
{
private IServiceProvider _serviceProvider;
...
5年前 (2020-08-08) 2871℃ 2评论
8喜欢
保存镜像
docker save <myimagename>:<tag> | gzip > <myimagename>_<tag>.tar.gz
加载镜像
gunzip -c <myimagename>_<tag>.tar.gz | docker load
转载请注明:清风亦平凡 » Docker容器使用gzip压缩保存/加载镜像...
5年前 (2020-07-16) 1566℃ 0评论
13喜欢
背景
人生在世,都会遇到各种问题,就连写个博客也不得安宁。突然发现自己的博客被别人恶意的以框架(iframe/object)形式嵌入了, 这种网页被嵌入框架的情况很常见,只是这次是我罢了。其实我不太明白,为什么要选择个人博客嵌入。不管怎么样自己还是得做出点响应,要不然自己总是觉得缺了一些什么。
发现
这次发现也算一次偶然,突然想看看统计数据,所以就登录到了百度统计查看记录,结果就发现了一些比较奇怪的来源,所以就尝试访问看了看。大致如下:
打开来源后就晓得博客被人恶意嵌入了框架或者被恶意镜像了,经过查看网页代码,确认博客是被恶意嵌入了框架(iframe)。如下图:
观点
这是2008年开始在国内流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中。只是现在改为了object,其实也是框架了。
其实用框...
5年前 (2020-06-24) 2903℃ 0评论
14喜欢
背景 由于某些原因需要临时处理一些问题,所以可能需要远程处理。最初使用的是TeamViewer远程控制软件,但是使用频繁会被限制。最后寻找了一个新的解决方案,就是使用内网穿透,而内网穿透的工具选择了FRP。本次内容最终目的是利用FRP可以使用微软系统自带的远程工具进行远程操作。
内网穿透
内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。
内网穿透应用场景
提供内网穿透服务连接内网服务器,在外网演示内网web站点无需服务器部署,快速调试本地程序,方便快速开发微信公众号和微信小程序支持http、https协议站点,省去证书中间件复杂配置,http协议站...
5年前 (2020-06-06) 1822℃ 0评论
9喜欢
我们很高兴地宣布,我们将为所有 GitHub 帐户提供具有无限协作功能的私人存储库。所有核心 GitHub 功能现在对每个人都是免费的。
到目前为止,如果您的组织希望将 GitHub 用于私人开发,您必须订阅我们的付费计划之一。但是地球上的每个开发人员都应该能够访问 GitHub。价格不应该是一个障碍。
这意味着团队现在可以在一个地方一起管理他们的工作:CI/CD、项目管理、代码评审、包等等。我们希望每个人都能在开发者喜欢的平台上发布优秀的软件。
需要高级功能(如代码所有者)、企业功能(如 SAML)或个性化支持的 eams 可以升级到我们的付费计划之一。
我们还将付费团队计划的价格从每个用户每月9美元降低到每个用户每月4美元,立即生效。现有客户的账单将自动减少。
在常见问题解答中了解更多信息,或在定价页面上比较计划。
原文地址:htt...
5年前 (2020-05-02) 1141℃ 0评论
2喜欢
split命令
split可以指定按行数分割和按字节大小分割两种模式。
语法
split [--help][--version][-d][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
参数
参数说明-<行数>或-l<行数>指定每多少行就要切成一个小文件。-b<字节>指定每多少字就要切成一个小文件。支持单位:m,k-d分割使用数字后缀-C<字节>与-b参数类似,但切割时尽量维持每行的完整性。--help 显示帮助。--version显示版本信息--verbose显示分割进度
按行数
split -l 具体行数 -d 要分割的大文件 新文件名前...
5年前 (2020-04-17) 1385℃ 0评论
0喜欢