Netkiller

数据库数据安全的九个最佳实践

情到浓时终转凉″ 提交于 2019-12-24 13:54:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 第 5 章 数据库安全 目录 5.1. 保护表 5.2. 保护表字段 5.3. 时间一致性 5.4. 为数据安全而分库 5.5. 内容版本控制,撰改留痕 5.6. 用户/角色认证 5.7. Token 认证 5.8. 数据加密 5.8.1. AES_ENCRYPT / AES_DECRYPT 5.8.2. 加密字段 5.9. 开发加密插件开发 5.1. 保护表 保护表中的数据不被删除,当记录被用户删除时会提示"Permission denied" 权限拒绝 CREATE DEFINER=`root`@`192.168.%` TRIGGER `member_before_delete` BEFORE DELETE ON `member` FOR EACH ROW BEGIN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Permission denied', MYSQL_ERRNO = 1001; END 5.2. 保护表字段 通过触发器,使之无法修改某些字段的数据,同时不影响修改其他字段。 DROP TRIGGER IF EXISTS `members`; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=''; DELIMITER //

gitolite 向 gitlab 迁移

拟墨画扇 提交于 2019-12-16 12:16:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 2.5.1. gitolite 向 gitlab 迁移 早期gitlab使用gitolite为用户提供SSH服务,新版gitlab有了更好的解决方案gitlab-shell。安装新版本是必会涉及gitolite 向 gitlab 迁移,下面是我总结的一些迁移经验。 第一步,将gitolite复制到gitlab仓库目录下 # cp -r /gitroot/gitolite/repositories/* /var/opt/gitlab/git-data/repositories/ 执行导入处理程序 # gitlab-rake gitlab:import:repos 上面程序会处理一下目录结构,例如 进入gitlab web界面,创建仓库与导入的仓库同名,这样就完成了导入工作。 提示 转换最好在git用户下面操作,否则你需要运行 # chown git:git -R /var/opt/gitlab/git-data/repositories 来源: oschina 链接: https://my.oschina.net/u/725072/blog/406731

PHP高级编程之守护进程,实现优雅重启

廉价感情. 提交于 2019-12-09 19:56:28
PHP高级编程之守护进程 http://netkiller.github.io/journal/php.daemon.html Mr. Neo Chen (陈景峰), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 < netkiller@msn.com > 版权 © 2014 http://netkiller.github.io 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 微信扫描二维码进入 Netkiller 微信订阅号 QQ群:128659835 请注明“读者” 2014-09-01 摘要 2014-09-01 发表 2015-08-31 更新 2015-10-20 更新,增加优雅重启 我的系列文档 Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札 Netkiller Linux 手札

Shell 高级编程

試著忘記壹切 提交于 2019-12-09 11:23:38
Shell 高级编程 原创 2016-11-04 景峯 Netkiller Shell 高级编程 http://netkiller.github.io/journal/shell.html Mr. Neo Chen (陈景峯), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com> $Id: shell.xml 449 2012-08-10 10:38:08Z netkiller 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 Shell 更多是被看成一种批处理命令,确实很多是是吧 Shell当成批处理去使用的。 我确不这么看,我认为要想开发程序一样去写Shell,把Shell当成一种语言。 我们需要将很多软件开发技巧应用在Shell领域 目录 1. 递归调用 2. 实现守护进程 3. 进程间通信 4. 1. 递归调用 不懂递归不算是合格的程序员 递归调用是一种特殊的嵌套调用,是一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。 #!/bin/bash ######################################## # Author: Neo <netiller@msn.com> # Home : http:

PHP高级编程之消息队列

流过昼夜 提交于 2019-12-07 19:16:19
PHP高级编程之消息队列 http://netkiller.github.io/journal/php.mq.html Mr . Neo Chen (陈景峰) , netkiller, BG7NYT 中国 广东省 深圳市 龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 < netkiller@msn.com > 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 微信扫描二维码进入 Netkiller 微信订阅号 QQ群:128659835 请注明“读者” 2015-10-19 摘要 我的系列文档 Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札 Netkiller Linux 手札 Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札 Netkiller

高级运维工程师面试题(更新中)

最后都变了- 提交于 2019-12-06 22:28:44
高级运维工程师面试题(更新中) 原创 2016-04-18 景峯 Netkiller senior operations engineer Mar 3, 2016 高级运维工程师 服务器硬件 RAID 磁盘阵列 简述 RAID? RAID 0 5 6 10 50 都适用于那些场景? 数据库适用那种 RAID? RAID 10 磁盘结构是怎样的,RAID 10 可以允许损坏那几块硬盘,请指出那就几块可以损坏,那几块不能损坏? 什么是逻辑卷,适合那些场景? 磁盘阵列 +------+------+------+ | HDD1 | HDD3 | HDD5 | +------+------+------+ | HDD2 | HDD4 | HDD6 | +------+------+------+ 存储 谈谈 iSCSI 与 SAN 两个电脑挂载同一个 iSCSI 设备,是否可行? 磁盘 IO 服务器IO瓶颈都在那些地方? Fibre Channel vs FCoE 请比较 Fibre 与 FCoE 有缺点,以及适合场景 网络 由于网卡损坏,或者水晶头接触不良导致断线,有没有解决方案? 当网卡1G已经不能满足通信要求,你怎么样应对,你的解决方案是什么? DNS 简述如何将DNS服务从万网迁移至DnsPod,需要注意哪些事项? 什么是A记录,CNAME记录,TXT记录,MX记录,NS记录?

Spring cloud 微服务安全解决方案

情到浓时终转凉″ 提交于 2019-12-06 18:30:20
Spring boot 微服务安全解决方案 作者:netkiller 本文节选自《Netkiller Architect 手札》 Restful 的通信安全有很多中解决方案,例如 1. HTTP Basic Auth 认证 2. Cooke / Session 认证 3. Token 认证 4. Oauth 5. OpenID 等等 每一种方案都很成熟,这里不依依解释,如果不了解,请去搜索引擎查找相关资料 这里我谈谈在实施微服务项目中的心得,首先项目采用 Spring cloud 方案,Spring cloud 有自己的RestController 控制器,我们需要遵循他的规范开发,这就限制了很多传统的认证加密方法不能应用到 Spring cloud中。 例如传统restful 使用 POST 方式提交,POST 数据格式如下: name=Neo&age=23&md5=xxxxxxx 然后做 token 校验。 而 Spring cloud 使用 raw 格式的数据做POST提交,例如 @RequestMapping(value = "/member/create", method = RequestMethod.POST) public void create(@RequestBody Member member) 我们不想在Spring框架上做额外的改动,又想解决信息的安全问题

SOA 面向服务框架设计与实现

我怕爱的太早我们不能终老 提交于 2019-12-06 11:02:30
文章节选自 《Netkiller Architect 手札》 由于Java 语言的编译与重启不可抗拒缺陷,所选择使用PHP弥补这个缺陷。 在合适的场景中使用PHP 为 Java 提供 SOA 服务有很多优势,最大的优势就是升级,能够随时升级,即时生效,服务不中断。 任何一种语言都有其擅长的一面,多种语言互补是一种趋势。 14.4. Service-oriented architecture (SOA) SOA 与 REST很多相同之处,目前SOA主要是基于SOAP实现,也有基于MQ的实现。而REST只限于HTTP POST/GET/PUT/DELETE等等。 我个人比较喜欢机遇TCP的SOA实现,不喜欢SOAP大量XML传输。 14.4.1. SOAP实现 这里提供一个简单的机遇SOAP实现的SOA框架 index.php入口文件 <?php define ('CONFIG_DIR', '../config/'); define ('LIBRARY_DIR', '../library/'); define ('DEBUG', false); //define ('DEBUG', ture); require_once(CONFIG_DIR. 'default.php'); $remote_addr = $_SERVER['REMOTE_ADDR']; if(!in_array(

Nginx + Tomcat 有关SSI 的那些事儿

◇◆丶佛笑我妖孽 提交于 2019-12-06 07:32:17
Nginx + Tomcat 有关SSI 的那些事儿 原创 2016-04-13 景峯 Netkiller 在工作中使用到SSI, 对于静态页面由Nginx处理SSI是没有问题。对于jsp 文件里面的SSI怎么办呢? 我们不想开启Tomcat的 SSI功能, 我们希望SSI 的解析交给Nginx来完成,Tomcat 只处理应用。 下面的文章用实例说明这是可行的。 文章节选择 《Netkiller Web 手札》 Tomcat 篇 3.2.6.5. Proxy 与 SSI 背景:nginx + tomcat 模式,nginx 开启 SSI , Tomcat 动态页面中输出 SSI 标签 # cat /etc/nginx/conf.d/www.netkiller.cn.conf server { listen 80; server_name www.netkiller.cn; charset utf-8; access_log /var/log/nginx/www.netkiller.cn.access.log; location / { #index index.html index.htm; proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP

Phalcon VS Spring 用法对照表(一)

…衆ロ難τιáo~ 提交于 2019-12-06 06:43:31
Home | 简体中文 | 繁体中文 | 杂文 | Search | ITEYE 博客 | OSChina 博客 | Facebook | Linkedin | Email Phalcon VS Spring http://www.netkiller.cn/journal/phalcon.spring.html Mr. Neo Chen (陈景峯), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 < netkiller@msn.com > 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 微信扫描二维码进入 Netkiller 微信订阅号 QQ群:128659835 请注明“读者” 2015-11-25 摘要 Phalcon VS Spring 用法对照表 我的系列文档 编程语言 Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札