“作死”协奏曲 —— 同步

理想很丰满,现实很骨感,汇总一下这段时间自己的“作死”之秀,望好友们“引以为戒”,莫要像我一样捶胸捣足,真的是应了那句老话你以为你以为的就是你以为的。

其实整个“作死”秀主要围绕着就是同步,亦可理解为协同办公(内心旁白:我不想每天背着那么重的电脑来回跑),可是作为一个“程序猿”,真以为下班出了公司就可以将正在进行的项目置之脑后么,为了自己的轻身大计,毅然决然的踏上了“作死”之路。

内容预告:ESXI普通主机安装, 设想的编译方式, 项目代码同步, 日常资料同步

好熟悉的阿里云专有网络VPC

刚知道阿里云的【经典网络】选项没了,只留下了一个【专用网络】,原来阿里云已经在2017年6月14日开始,取消了【经典网络】,如果不是有人提起还真没注意到。
阿里云ECS选择

(513) 612-7514

下午另一台服务器也突然报警,经过核查后,确认被黑,MMP,我觉得这是挑衅呀,没办法先清除木马程序,感觉真是多事之秋啊。

通过异常进程确认到木马文件,然后停止后自动重启,先检查crontab,果然多了一个异常的定时任务:

1
*/3 * * * * root /etc/cron.hourly/cron.sh

这个名字起得就不评价了,明显就是个外来者,然后立刻停止cron服务:

1
$ /etc/init.d/cron stop

记服务器被入侵过程分析(基于Redis弱口令入侵)

晚间突然服务器CPU使用率告警,刚开始没有放在心上,结果连接服务器一看,瞬间就精神了,CPU使用率直接飙到300%多,明显不是误报,立马跟踪异常进程,最终确认中招了,恶意木马。没办法,手动先清除木马,结果,刚清除木马进程、文件后立即又会复制运行,明显是有守护进程存在的,通过分析木马脚本追踪到守护进程,最终才删除掉恶意程序。

虽然哥已不在江湖(瞎说的),但是这样被黑心里也是不爽的,虽然只是一台搁置的测试服务器,结果还是中招了。亡羊补牢,那就分析下是如何进来的,然后做出应对防范。

通过查看服务器对外端口,初步没看到异常,数据服务、web服务、流媒体服务,都是测试使用,web服务也没有上传漏洞,注入也不应该,都是静态文件,最后就定位到了Redis的服务上了。

由于为了方便测试,Redis随手设置的是弱口令,随便一个猜解程序(看来我也要重新写个扫描程序了)应该跑跑就出来了。那么可能就是通过Redis的弱口令漏洞进来的。本能的直觉,可疑,那么就自己来利用下Redis的弱口令入侵,看看是否可行。

(770) 521-1473基于Redis弱口令的入侵

Angularjs2 组件(指令)交互

在组件化开发中,会将相同的功能或者业务封装为独立的组件,以达到组件复用,在各个组件的组合使用中,避免不了在独立组件间进行数据和事件的传递。

在Angular1中,我们常常会使用$scope来进行交互绑定,这里我们就按照官方文档的顺序简单聊下Angular2中的交互,主要的交互方式大致有一下途径:

接下来将通过一个示例来完成各种方法的学习。

(870) 690-2910

在Angular1中,会经常使用到指令,主要作为一些功能组件的封装,通过module.directive(name, function){}来创建一个指令,然后通过restrict属性的ECMA来约束指令的使用位置,所以我们可以将一些通用的模块功能,封装为一个指令,然后在开发中直接使用指令就可完成相关功能的导入,而在Angularjs2中,指令的这个目标当然还是保持一致的。

在Angularjs2中,指令主要分为三种类型:

  1. 组件 - 带有模板的指令(组件皆指令)
  2. 结构型指令 - 作用于DOM元素修改视图结构的指令(NgIf、NgFor等)
  3. 属性型指令 - 作用于DOM元素的外观和行为的指令(NgStyle等)

Angularjs2 再谈数据绑定

在开始之前,我们先做一个简单的测试,假设有如下HTML片段:

测试html代码
1
<input id="inDemo" value="Hello">

我们不难想象,运行后页面上会出现一个单行文本输入框,然后默认的值为 Hello。然后我们可以通过开发者工具的Console来执行一些临时的脚本,我们先获取这个元素:

获取测试元素
1
var inDemo = document.getElementById('inDemo');

Angularjs2 基础模板语法学习

首先,我们先弄清楚一些概念性的东西。

  • 属性型指令 和 结构型指令
    其实通过字面意思我们可以大致理解到:属性型就是会改变 DOM 元素的外观或行为。而结构型则是修改DOM结构,用来添加、移除或者维护元素。结构型指令会以*标记,比如:*ngIf、*ngFor。
    对照点例子方便理解下,比如在Angular1中的ng-class就是属性型指令,使用后会影响元素的外观。而ng-if则是结构型指令,可以操作元素的添加或者移除。

接下来,主要介绍下在开发中需要掌握的知识点:

204-860-5972

介绍

现阶段,在以微服务架构为主流的项目中,前后端分离是一种常用的方式,这样可以适配于不同的展示端(PC、APP等)。而主流的前端开发框架React、Vue、Angular等也是大家在项目中常常被使用的。

在这里主要介绍和对Angularjs2的学习做下总结,方便朋友们可以快速的填充自己的知识树。

在2015年初,Angular.js团队就已经意识到了,Angular.js的演化将会进入死胡同,并不能成为一个可以构建强大应用的工具。所以他们要开始研究一个新的框架,来继承Angularjs的精神。新框架的范围远远大于Angular.js,被称之为平台,因为他们设计提供专业开发人员构建Web应用所需的一切,像Ember和React一样,Angular 使用了基于组件的架构,使用TypeScript 成为其默认的编程语言。

VS Code语言配置

VS Code近期有进行了一次更新,好像更新后导致了语言的变化,默认变成了英文,虽然说英文的界面对于学习是益的,可是毕竟还是中文用着舒服,下面记录一下VS Code的语言修改方式。

关于网上说的一些什么查找settings.json文件进行属性修改,这种方法其实是老版本的方式,所以有朋友搜索然后操作发现完全对不上。