GIT:A boon for open-source developers who need to collaborate on code.

Local Git Config

Create the Encrypted connection

  • Generate the SSH key
    1
    ssh-keygen -t rsa -C "[Email on Github]"
  • Put the public key(.pub) to the GitHub settings
  • Verify the connection’s available

Initial the Git configuration

1
2
git config --global user.name  "name" //你的GitHub登陆名
git config --global user.email "123@126.com" //你的GitHub注册邮箱
Read more

关于 JSONP 及 CORS 绕过同源策略的原理解释

JSONP 跨域

JSONP 的全名叫做 JSON Padding

  • 其出现的目的不是为了解决跨域问题,而是在 HTML 中的 Javascript 调用出现的历史遗留问题
    1
    <script src=http://127.0.0.1/func.js?call=callfunc></script>
    这样形式的 src 远程调用,会自动绕过同源策略的限制,直接访问远程的 func.js 文件中的 callfunc 函数,并供 JS 在后续解析为 JSON 格式进行返回

而之所以叫 JSON Padding,是因为例如如下的简单实现,访问完远端 JS 文件中的 callfun 函数后(或称之为 API 后),远程的内容返回到该 HTML 文件的格式为使用 JSON 的数据封装(例如这种格式:callback({"name":"hax","gender":"Male"})

Read more

详解 php 封装协议

概述

PHP: 支持的协议和封装协议 - Manual

  • PHP 带有很多内置 URL 风格的封装协议,可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。

  • 各个封装协议是否能使用取决于 php.ini 里 allow_url_includeallow_url_fopen 的参数设置情况。

Read more

php 详解序列化及反序列化特征

概述

  • php 在定义一个数组,类等很多东西的时候,为了数据传递的方便,都可以对一个对象或者实例进行序列化

对一个数组进行序列化

1
2
3
4
5
6
7
8
<?php
$sites = array('Google', 'Runoob', 'Facebook');
$serialized_data = serialize($sites);
echo $serialized_data . PHP_EOL;
?>

//输出结果
a:3:{i:0;s:6:"Google";i:1;s:6:"Runoob";i:2;s:8:"Facebook";}
Read more

php 魔术方法总结

概述

PHP: 魔术方法 - Manual

  • php 魔术方法是一种特殊的方法,当对对象执行某些操作时会覆盖 PHP 的默认操作

__construct() 构造函数

  • 通常构造方法被用来执行一些有用的初始化任务,如对成员属性在创建对象时赋予初始值
  • 在每个类中都有一个构造方法,如果没有显示地声明它,那么类中都会默认存在一个没有参数且内容为空的构造方法
Read more

A simple summary of Powershell Script

powshell 学习

0x00.基本

  • cmd 的命令在 ps 里都能用
  • 可以直接进行计算
  • 可以属性调色
  • 可以用 tab 键补全命令
  • 可以使用管道符(|)将上一个命令的输出放到下一个命令的输入里去
  • 可以使用>(覆盖),>>(追加) 的重定向符
  • 动名词方式来使用命令,例如 get-process get-services
  • 变量和 php 很类似又$开头

变量可以是命令
变量不需要提前声明

  • 条件语句没分号
  • 可以单双引号互相嵌套
  • 转义不再是 \,而是 `
Read more