Hot For Coding
一个PHP带公钥加密类,很实用哦

Web交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。

看看Wiki介绍

公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密碼學的一種演算法,它需要兩個密钥,一個是公開金鑰,另一個是私有密鑰;一個用作加密的時候,另一個則用作解密。使用其中一個密钥把明文加密后所得的密文,只能用相對應的另一個密钥才能解密得到原本的明文;甚至連最初用來加密的密鑰也不能用作解密。由於加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;不同於加密和解密都使用同一個密鑰的對稱加密。雖然兩個密鑰在数学上相关,但如果知道了其中一个,并不能憑此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外發佈;不公开的密钥为私钥,必須由用戶自行嚴格秘密保管,絕不透過任何途徑向任何人提供,也不會透露給要通訊的另一方,即使他被信任。

...

READ ALL

防SQL注入的一些方法

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,这类表单特别容易受到SQL注入式攻击。SQL注入一直是WEB程序安全性的指标之一,也是必备防范的一种安全应用。那么,如何防止SQL注入呢?

限制类型

打个比方,比如有一个列表,用户可以输入一个数字跳到该页,像这种需求可以直接把输入框用JavaScript限制用户只能输入数字,其它字符不允许。PHP接收到参数的时候,直接判断是不是数字即可。

永远不要相信表单数据

表单的出现,是Web程序的一个里程碑,但也成为许多SQL注入的漏洞之一。永远记得:只要是用户输入的,就一定要进行相应的验证。

...

READ ALL

PHP菜鸟成长之路

这两天,有不少朋友问PHP怎么学?容易吗?我想这个是没有标准答案的,因人而异。个人感觉如果没有接触过程序的人学习任何一门语言都会有难度,需要花一定的时间去理解变量,类型,类,方法,变量等等。需要知道HTTP协议,需要了解Web周边知识等等,以下给出准备学习PHP的一些建议。

了解PHP,了解Web原理

这有点类似废话,但还是有必要普及下。PHP只是一门语言,通常用于Web开发,是服务器端语言。新手们这里就要理解两个概念

  • 服务器端: 主要处理客户端请求,数据存储,明白PHP在Web架构里的哪个位置
  • 客户端: 主要是用浏览器,要熟悉B/S架构,浏览器如何能显示出页面的

...

READ ALL

Git stash 命令

有这么一个场景,你正在feat-create分支上开发一个功能模块,突然临时有一个紧急Bug需要修复,但是你正在开发的程序预计还有一天才能写完,而修复这个Bug只需要五分钟。这个时候git的stash功能就派上用场了。

stash命令表示储藏,就是把当前的工作先储藏起来,去干别的工作,完成后在取出之前储藏的工作继续工作。

看看文档

NAME
  git-stash - Stash the changes in a dirty working directory away
  
SYNOPSIS
  git stash list [<options>]
  git stash show [<stash>]
  git stash drop [-q|--quiet] [<stash>]
  git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
  git stash branch <branchname> [<stash>]
  git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
              [-u|--include-untracked] [-a|--all] [<message>]
  git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
              [-u|--include-untracked] [-a|--all] [-m|--message <message>]]
              [--] [<pathspec>...]]
  git stash clear
  git stash create [<message>]
  git stash store [-m|--message <message>] [-q|--quiet] <commit>

...

READ ALL

NodeJS连接MongoDB

NodeJS里要连接MongoDB必须得有驱动,所以首先就得安装驱动包

npm install mongodb

然后我们可以使用这个mongodb包的客户端,require包以后有一个MongoClient是客户端,主要使用这个API进行连接

// Nicholas Lee www.qttc.net

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";

MongoClient.connect(url, function(err, db) {
  if (err) {
    throw err;
  }
  console.log("Database created!");
  db.close();
});

...

READ ALL

Linux查看CPU信息

在Win平台中,只要鼠标点点就能看到CPU信息,在Linux命令状态下如何查看本机CPU信息呢?

CPU信息主要存储在/proc/cpuinfo,但它的信息量非常大,有很多无用的信息,所以还要配合一些过滤的命令才能准确抓取到我们需要的信息

查看CPU型号、频率、内核

[root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      8  Intel(R) Xeon(R) CPU           E5606  @ 2.13GHz

...

READ ALL

Go读写文件

读取文件主要使用ioutil

读取文件

使用ioutil.ReadFile()

语法

func ReadFile(filename string) ([]byte, error)

// Nicholas Lee www.qttc.net

package main

import (
  "fmt"
  "io/ioutil"
  "log"
)

func main() {
  content, err := ioutil.ReadFile("index.md")
  if err != nil {
    log.Fatal(err)
  }

  fmt.Printf("File contents: %s", content)
}

...

READ ALL

PHP实现Linux关机重启功能

有时候,我们自己可以DIY一个控制面板实现Linux的关机重启功能。众所周知,Linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点

知道命令的绝对路径

在Linux下操作的时候,我们们直接敲入命令即可。但用PHP执行Linux命令就不能这么操作了,需要知道命令的绝对路径。

  • /sbin/reboot 重启命令reboot绝对路径
  • /sbin/shutdown 关机命令shutdown绝对路径

用PHP执行Linux命令

PHP有许多函数可以执行Linux命令,之前我有在博客介绍过《PHP执行Linux命令函数》。这里推荐使用exec函数。

...

READ ALL

修改Linux登录后默认目录

每次登录Linux后需要cd进入相应的目录,久而之久感觉实在太不方便,于是想到了修改配置文件省的以后每次登录还要cd进入目录的步骤

修改配置文件

配置文件位置

/etc/passwd

修改它

vi /etc/passwd

记得要root登录,或者sudo

找到root所在行

root:x:0:0:root:/root:/bin/bash

找到上面这一行

修改它

root:x:0:0:root:/root:/bin/bash

改成

root:x:0:0:root:/data0/web_root/:/bin/bash

...

READ ALL

Win平台与Linux平台的hosts设置

做Web开发,常常是需要设置本机Hosts。

XP或者WIN7设置

hosts位置

C:\Windows\System32\drivers\etc\hosts

注意先把权限给上,否则无法保存。

格式

IP 域名

如:

127.0.0.1 www.xxx.com
192.168.1.100 www.ooo.com

Linux设置

hosts位置

/etc/hosts

需要root权限才能修改

vim /etc/hosts

格式跟Win平台一样

IP 域名

修改后记得保存

验证

验证就特别简单了,直接ping,看看返回的IP是不是对的

...

READ ALL