欧盟cookie法律简易应对以及患难关

2018-11-30 约 2720 字 预计阅读 6 分钟

昨天在Hugo w3 simple模板里用简单的代码实现了基于欧盟cookie法律的浏览条提示。

这个cookie law已经存在好几年了,具体解释google第一条结果就有一个网站cookielaw.org

其网站是英文的,简单翻译来说:

Cookie Law

Cookie法是一项隐私立法,要求网站获得访问者的同意,以便在计算机,智能手机或平板电脑上存储或检索任何信息。此项法令赋予用户知情及拒绝使用cookie以保护其隐私的权利。

注意

所有在欧盟拥有或针对欧盟公民的网站现在都应遵守此项法律。

现在所有的网站如果采用了google analytics分析系统或者Google Adsense广告等,都会使用到cookie

Cookie 维基

HTTP cookie(也称为Web cookie,Internet cookie,浏览器cookie或简称cookie)是从网站发送的一小段数据,在用户浏览时由用户的Web浏览器存储在用户的计算机上。 Cookie旨在成为网站记住有状态信息(例如在线商店中购物车中添加的项目)或记录用户浏览活动(包括点击特定按钮,登录或记录访问过哪些页面)的可靠机制 在过去)。 它们还可用于记住用户先前在表单字段(如姓名,地址,密码和信用卡号)中输入的任意信息。

可见cookie的应用是非常广泛的。本来觉得这项欧盟法令对我这种身在南半球,网站架设在美帝的服务器上的人群是无所谓的。

但一年多前Google Adsense操作界面专门提了一页,针对访问网站的欧盟用户若不设置提醒的话,将不再提供利用cookie的优化广告技术。

此项技术可根据用户的浏览历史和喜好投放广告,我个人十分喜欢广告,认为广告是有利于全球信息流通的,(多年前曾下了不少功夫学习英文sales page的写作,故对影响力这类心理书籍也极熟悉。但因为文化底蕴没有办法跟英语母语者相比,sales page达不到一定的高度。)所以对这项技术持欢迎态度。

但不是所有人都无所谓自己的浏览历史隐私,故此此项立法也就应运而生。

以前的IT水平是业余0.1级水平,故此只会在网站上加一个别人做好的模块,比如以前我都是用的insites的cookie consent代码,为什么用它,原因很简单,它是google搜索cookie consent的第一名。

为什么现在不想用了,原因也很简单,因为我看不懂它的代码而且它比较大。

现在的IT水平通过对hugo w3 simple的玩耍,提升到业余0.5级了。应付这种解决方案就没有问题了。

Cookie提示条的实现

用w3 css框架弄一个提示条就很容易了。跟前面我写的固定浏览条类似。

<div id="cookiebar" class="w3-bar w3-top w3-black w3-border   " >
    <span class="w3-bar-item w3-small">Our website uses cookies to improve your user experience. If you continue browsing, we assume that you consent to our use of cookies. More information can be found in our <a href="/privacy/">privacy policy</a></span>
    <span onclick="gotitcookiebar()"
    class="w3-button w3-small w3-green w3-right">Got it</span>
</div>

给这个cookibar做一个css

#cookiebar
{
display:none;
}
#cookiebar a
{
color: white;
text-decoration: underline;
}

这样在页面顶上就有一个黑色提示条了。我们需要将整体页面下移提示条的高度,这样就不会挡住页面内容,这叫push down效果,然后显示一次就可以了。如果用户点击Got it按钮或者继续浏览,比如滑屏20px以上,表明用户接受了本站有cookie,就可以将这个提示条取消了。

同时需要检查用户是不是首次访问网站,如果是则显示这个提示条,并设置cookie,下次再访问时就不会再出现这个提示条了。

由此设计javascript如下:

<script>
function gotitcookiebar() {
    var x =document.getElementById("cookiebar");
    x.style.display = "none";
    var x = document.getElementsByTagName("BODY")[0];
    x.style.paddingTop = "0px";
}

function checkCookie() {
    var user=getCookie("cookiebardisplayed");
    if (user == "") {
        var x =document.getElementById("cookiebar");
        x.style.display = "block";
        var h = document.getElementById('cookiebar').clientHeight;
        var x = document.getElementsByTagName("BODY")[0];
        x.style.paddingTop = h+"px";
        setCookie("cookiebardisplayed","1",365);
    } 
}

function setCookie(cname,cvalue,exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

window.onscroll = function() {scrollFunction()};

function scrollFunction() {

if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
    var x =document.getElementById("cookiebar");
    x.style.display = "none";
    var x = document.getElementsByTagName("BODY")[0];
    x.style.paddingTop = "0px";
} 
}

document.addEventListener('DOMContentLoaded', function() {
    checkCookie();
}, false);
</script>

好了,以前用大几十kb的第三方解决方案就这么多行代码就实现了。网页文件小了,网速就会又快上几分。而且还多一个滑屏即消失的功能。


通关文之患难关

易曰:“困而不失其所,亨。其惟君子乎?”
中庸曰:“素患难,行乎患难。”
长春真人曰:“病即教他病,死即教他死。至死一着,抱道而亡。”
此皆言其不可因患难而变其初志也。
夫道者,包罗天地,窃夺造化,出死入生,超凡入圣,作佛作仙。
非有大勇大力,顶天立地之铁汉,脱尘超俗之金刚,知不的,载不起,拿不动。
如何是大勇大力?
富贵不能淫,贫贱不能移,威武不能屈,是大力;恩爱不能牵,名利不能诱,是大力;忧愁恐惧,一些不起,是大力;喜怒哀乐,截然放下,是大力。
困苦危难,不动不摇,是大勇;疾病灾厄,顺其自然,是大勇;饥寒冻饿,至死不变,是大勇;羞耻凌辱,不识不知,是大勇。
故释迦佛遇歌利王,割身而不知;纯阳翁遇正阳祖,十试而无弊;紫清喝骂而教去而弗嗔 ;三丰衣破鞋穿而不悔;长真受人拳打而不争;长春折肋三次而不顾。
以上圣贤,皆遇患难磨炼,受尽无限苦楚,所以终能闻大法,明大道,超凡入圣,成其希有之大事也。
世间糊涂学人,不知患难是修真大药,是成道炉鎚。
而反怕患难,避患难。
或受些饥寒便生别法;或遇些疾病即起妄念;或逢些危险即思退步;或遭人凌辱即便争论。
殊不知真金要在大火里炼出,荷花须从汙泥中长成。
非火不见金之明,非泥不见荷之净。
患难何病?
患难然后见人之身份高低;患难然后验人之志气真假。
吾劝真心学道者,速将患难关口打通。
认定性命二字。生也是这个,死也是这个。
一切大灾大难、大困大厄、大危大险,付之於天,皆以无心处之。
日久自然化凶为吉,变祸为福。
否则,遇患难而怕患难,心神不定,志念迁移,无患难而自致患难,小患难而变为大患难,妄想明道,难矣。

此关言说又想起西游记之悟空向菩提祖师问道,谈到字门中之道。

祖师道:”教你’静’字门中之道,如何?”
悟空道:”静字门中,是甚正果?”
祖师道:”此是休粮守谷,清静无为,参禅打坐,戒语持斋,或睡功,或立功,并入定坐关之类。”
悟空道:”这般也能长生么?”
祖师道:”也似’窑头土坯’。”
悟空笑道:”师父果有些滴㳠。一行说我不会打市语。怎么谓之’窑头土坯’?”
祖师道:”就如那窑头上,造成砖瓦之坯,虽已成形,尚未经水火煅炼,一朝大雨滂沱,他必滥矣。”
悟空道:”也不长远。不学!不学!”

故此不可一味顽空守静,还是从红尘中学来。

烦恼即菩提,患难亦是修真大药,是成道炉鎚。

不过也无需自寻患难,灵宝定观经早已明讲:


制而不著,放而不动,处喧无恶,涉事无恼者,此是真定。
不以涉事无恼,故求多事;不以处喧无恶,强来就喧。

--- 洞玄灵宝定观经

人世经历如,自然而然,遍历遍行而已。


author

本文由Jesse Lau原创

2012年定居新西兰至今,自由职业者,从事网站和程式交易,曾获得Dukascopy外汇程序交易比赛2届月度冠军(id:Tradingwithea).
本文采用知识共享署名 4.0 国际许可协议进行许可。


留点评论吧:

本网站使用cookie技术以提高用户体验度。 了解我们的隐私政策 我已了解