月度归档:2018年05月

bash 查找数组中是否存在某个元素

realfilesarr=(123 456 789)

function contains() {
    local n=$#
    local value=${!n}
    for ((i=1;i < $#;i++)) {
        if [ "${!i}" == "${value}" ]; then
            echo "y"
            return 0
        fi
    }
    echo "n"
    return 1
}

if [ $(contains "${realfilesarr[@]}" "123") == "n" ]; then
    echo "不存在";
fi

if [ $contains "${realfilesarr[@]}" "123") == "y" ]; then
    echo "存在";
fi

X-Frame-Options 响应头

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame><iframe>或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

X-Frame-Options 有三个值:

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options

使用openssl_encrypt 替换 mcrypt_encrypt

自己摸索出来的:

# $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $this->key, $input, MCRYPT_MODE_CBC, $iv);
$encrypted = openssl_encrypt($input, ‘AES-128-CBC’, $this->key, OPENSSL_RAW_DATA, $iv);

网上看到的,很好的方案:https://gist.github.com/odan/c1dc2798ef9cedb9fedd09cdfe6e8e76