decodeURIComponent有个BUG,当浏览器请求地址含%+数字时,会解析错误
by kris keys JS学习 JavaScript 1495603303773
比如要查询字符串: 限时特惠!仅需0.5%25!

直接在浏览器中输入:https://stackoverflow.com/search?q=限时特惠!仅需0.5%25

但搜索框中会出现:  "限时特惠!仅需0.5%!"

25消失了!
命令行的艺术:linux bash命令大全详解
by ourjs keys 心得体会 分享 1495520412140
熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧非常基础,而另一些则相当复杂,甚至晦涩难懂。这篇文章并不长,但当你能够熟练掌握这里列出的所有技巧时,你就学会了很多关于命令行的东西了。

这篇文章是许多作者和译者共同的成果。 这里的部分内容 首次 出现 于 Quora, 但已经迁移到了 Github,并由众多高手做出了许多改进。 如果你在本文中发现了错误或者存在可以改善的地方,请贡献你的一份力量

NodeJS的DNS使用:域名解析,MX记录查询,SPF反垃圾邮件测试
by kris keys JS学习 Node.JS 1495107234579

Node.js 有一个专门用于解析域名的模块dns。引入DNS 模块语法格式如下:

var dns = require("dns")

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。

通过解析域名的SPF记录,我们可以检查某个发送邮件的IP地址是否合法:

dns.resolveTxt('cn.oncedoc.com', function() {
  console.log('txt cn.oncedoc.com')
  console.log(arguments)
})
Node.JS如何调用Chrome打开浏览器链接地址
by kris keys JS学习 开源 1494940091651

在Node.JS中打开浏览器网址非常简单。

此时会使用chrome打开网址,如果没有安装则会使用默认浏览器打开。

在Node.JS中通过child_process调用即可。

var cp    = require('child_process')
cp.exec('start chrome http://www.baidu.com')
用纯Node.JS弹出Windows系统消息提示框(MessageBox)
by kris keys JS学习 Node.JS 1494816044399
Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如

var cp    = require('child_process')

var initApp = function() {
  var vbsPath = path.join(__dirname, 'vb.message.vbs')

  cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件没有跟 OnceDoc 绑定"', function(err, stdout, stderr) {
    if (err) {
      fs.writeFileSync('log.log', err.toString())
    }
  })
}

initApp()
"永恒之蓝"比特币勒索病毒(WannaCry)的攻击原理
by kris keys 骇客攻防 分享 1494688102070
此病毒其实是利用了微软 Microsoft Windows SMB 服务器通信协议进行传播的。并且微软已经于3月份发布了安全更新包,但是由于很多校园网、医院、政府机构专网的电脑或服务器没有安装安全更新,造成大面临感染。实际上很多运行Windows的服务器也不可能自动安装安全更新,因为这可能会导致服务器的重启。

SMB(Server Message Block,又称Common Internet File System(CIFS)),主要用来使得一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的行程间通讯机能。它主要用在装有Microsoft Windows的机器上,被称为Microsoft Windows Network。使用445端口。

攻击者利用向 Windows SMBv1 服务器445端口发送特殊设计的消息,来远程执行攻击代码。
Node.JS通过读取PATH环境变量获取可执行文件的安装地址
by ourjs keys 大话编程 分享 1494570584077
有暑假我们可能需要获取某些可执行程序的安装地址,比如说git,node.js等。

此时我们可以直接读取环境变量来获取。

在node.js中可以通过 process.env来获取所有环境变量,如:

console.log(process.env)
JavaScrip字符串模板表达式中的反引号怎么打?
by ourjs keys JS学习 JavaScript 1493689791273

模板字符串是ES6引入的可以在字符串中嵌入变量的表达式。与常用的单引号、双引导不同,字符串模板使用反引号表达式。

反引号一般在键盘的左上方,数据健前的第一个键,即按下Shift会显示 "~" 的那个鍵,不按Shift即为反引号。

Phantom.js维护者Slobodin退出,著名自动化测试与智能爬虫框架前景不明
by kris keys 技术前沿 分享 1493528312041
PhantomJS是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,是最早的服务器端Web框架之一。系统占用极小,多用于自动化测试、智能爬虫、网络监控、网站自动截图等。PhantomJS的启动非常简单:

var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  phantom.exit();
});

不过随着其他基于Node.JS的Web桌面程序框架 electronnode-webkit(nw) 的出现,PhantomJS的热度出现下降。最近Phantom.js的主要维护者宣布退出。项目前景不明。
Node.JS用Socket实现FTP Server服务器和Client客户端
by kris keys JS学习 Node.JS 1493294498882

FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令:

<指令> [参数] <命令结束符:"\r\n"> 

服务会按以下格式返回:

<状态码> [参数或说明] <命令结束符:"\r\n"> 

例如以下是FileZilla FTP客户端与服务器通信的过程:

响应: 220-FileZilla Server version 0.9.43 beta
响应: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
响应: 220 Please visit http://sourceforge.net/projects/filezilla/
命令: AUTH TLS
响应: 502 SSL/TLS authentication not allowed
命令: AUTH SSL
响应: 502 SSL/TLS authentication not allowed
命令: USER newghost
响应: 331 Password required for newghost
命令: PASS **************
响应: 230 Logged on

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  7. Node.js 打印vite react+go项目目录树
  8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  9. Windows与Mac通过git ssh和rsync实现文件共享互传
  10. Windows与Mac通过git ssh和scp实现文件共享互传

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA