开源在线 Markdown 编辑器

主要特性

  • 支持“标准”Markdown / CommonMark和Github风格的语法,也可变身为代码编辑器;
  • 支持实时预览、图片(跨域)上传、预格式文本/代码/表格插入、代码折叠、搜索替换、只读模式、自定义样式主题和多语言语法高亮等功能;
  • 支持ToC(Table of Contents)、Emoji表情、Task lists、@链接等Markdown扩展语法;
  • 支持TeX科学公式(基于KaTeX)、流程图 Flowchart 和 时序图 Sequence Diagram;
  • 支持识别和解析HTML标签,并且支持自定义过滤标签解析,具有可靠的安全性和几乎无限的扩展性;
  • 支持 AMD / CMD 模块化加载(支持 Require.js & Sea.js),并且支持自定义扩展插件;
  • 兼容主流的浏览器(IE8+)和Zepto.js,且支持iPad等平板设备;
  • 支持自定义主题样式;

官网:https://pandao.github.io/editor.md/index.html

 

如何安全的存储密码?

摘要:

bcrypt是跨平台的、专门为密码存储而设计的算法,bcrypt所接受的密码长度必须是8至56个字符,并将在内部被转化为448位的密钥。基于Blowfish加密算法变形而来。

bcrypt在默认情况下,在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得数据的人恢复数据的尝试。如果您不想使用此功能,可设定禁用此功能

bcrypt最大的好处是有一个参数,可用于调整计算强度,而且该参数是包括在输出的摘要中的。随着计算能力的提高,应该可以逐步增大这个参数,增大这个参数后并不会影响原来的用户。

bcrypt经过了很多安全专家的仔细分析,使用在以安全著称的OpenBSD中,一般认为它比PBKDF2更能承受随着计算能力加强而带来的风险。 继续阅读“如何安全的存储密码?”

IT 工程师做自由职业者会遇到哪些坑?

链接:https://mp.weixin.qq.com/s?__biz=MzAwNjMxMTA5Mw==&mid=2651340228&idx=1&sn=23cedb5215e0edd71cc11481a73f2f6d&scene=0&key=305bc10ec50ec19ba922944a84ed4630ef44e2d2b99872b81cc03bbc0ad9f478a04153e2854d41867939ba29a287a44b&ascene=0&uin=MjAzNjY2ODYwNA%3D%3D&devicetype=iMac+MacBookAir6%2C2+OSX+OSX+10.11.2+build(15C50)&version=11020201&pass_ticket=4n3ErHuPWlJ3nzWmCBYqroIGekNt2Vb9NmWdBZFkKDAY2Pr1sJzBcX%2BKuphz2vSH

 

原文链接:http://blog.jobbole.com/99764/

免登录跳转安全机制

场景:

系统A中已登录用户,点击跳转至系统B时,可免除再登录操作,即实现“一键登录”。但系统A和系统B没共用用户信息,需要系统B能认可从系统A跳转来的用户,但又要保障其他未登录系统A的人复制此链接时,不能进入系统B。

实现:

继续阅读“免登录跳转安全机制”

卡号消费安全机制

某家大型超市卡号消费机制如下,可供参考:

卡面信息:①卡正面有一串卡号;②卡背面有两部分号码被银粉遮盖(消费密码、对账码)

消费:店员输入卡正面号码,用户输入卡背面消费密码

纠纷对账:总部/店长输入卡背面对账码和消费密码,即可查看消费记录

特点:对账码也是用银粉遮盖,一般情况下要求不能被刮开。对账时以拥有对账码和消费码为准(认为卡是真实有效的),防止别人克隆卡号和消费密码

安全保密机制

烟雾弹:
一串号码后面补充若干位占位符,其实,那串号码才是有用部分,后面补充的占位符一方面可以作为烟雾弹,增加别人猜测出号码部分的难度;另一方面可以作为双重验证标识,如用手机号的后两位做占位符,先验证后两位占位符是否与使用者手机号一致,以此防范B手機的人拿發給A手機票劵的去做票劵銷售的處理。

web性能优化

    • web服务器的选用

      Nginx。部分数据统计,Nginx可以保持10000个没有活动的链接,只占2.5MB内存,搭配epoll时可维护近50000个并发链接;Apache一旦达到200个进程,请求响应速度会变很慢。

    • 使用内存数据库

      Redis > Memcached。相比Memcached,Redis有以下优点:

      ①不仅支持简单的key/value类型数据,同时还提供list、set、zset、hash等数据结构的存储;

      ②支持数据的备份,即master-slave模式的数据备份;

      ③支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载使用。

继续阅读“web性能优化”