原因:網(wǎng)站風(fēng)格被偷,發(fā)現(xiàn)對(duì)方直接引用了本站的css文件
----------------20160523更新-------------------
抱歉,我的問題描述得不夠準(zhǔn)確。 想問的不是“怎么防止被其他網(wǎng)站引用自己網(wǎng)站的 css 文件”
而是:當(dāng)css文件被其他站引用的時(shí)候,如何在這個(gè)文件里植入腳本做一些動(dòng)作,比如讓對(duì)方的網(wǎng)站用戶訪問的時(shí)候跳到我的站或者植入一些統(tǒng)計(jì)代碼什么的……
走同樣的路,發(fā)現(xiàn)不同的人生
服務(wù)器做防盜鏈處理...
不過也沒啥意義, 對(duì)方下載到自己服務(wù)器就行...
前端的東西, 防不住別人"偷"的...
============
如果說是想搞對(duì)方...
你可以用一個(gè)php文件, 判斷下來源是不是自己的網(wǎng)站, 如果是echo正常的css樣式, 如果不是, 輸出
body:before{
content: "你個(gè)傻逼";
width: 100%;
height: 100%;
position: fixed;
background: #fff;
z-index: 99999;
text-align: center;
font-size: 40px;
}
然后自己網(wǎng)站的樣式改成<link rel="stylesheet" href="http://www. *.com/.php" />
當(dāng)然, 如果你不想改變?cè)鹊腸ss地址, 可以用偽靜態(tài)將css文件路徑應(yīng)用到php文件上
再或者, 你在他網(wǎng)站上找個(gè)他有而你沒有的元素, 在css文件上直接添加上面的代碼, 把body:bofre中的body改成該元素對(duì)應(yīng)的class或者id
這個(gè)人也太懶了吧,就不能直接把你們網(wǎng)站的 css
下載下來放在對(duì)方自己的網(wǎng)站上嗎?話說 css
是無法防止抄襲的吧,就算是壓縮后的也很容易 beautify
。前端抄來抄去很正常,不知道他們直接引用你們的 css
文件有什么用?難道是組件或者是風(fēng)格跟你們網(wǎng)站一模一樣?
為什么樓主要阻止對(duì)手那樣做?
前端瀏覽器對(duì)樣式都是可見的,所以讓對(duì)方不使用你自己寫的樣式很難,所以樓主如果要屏蔽對(duì)方引用你的樣式,可以通過服務(wù)器防盜鏈,至于加密什么的,我覺得沒必要花時(shí)間在那上面,如果哪天大家都擔(dān)心自己樣式被別人拿去用的話,那應(yīng)該是前端的退步吧。
哈哈,偷你風(fēng)格的那個(gè)人太搞笑了,逗死了。
你可以在請(qǐng)求頭里加上域名的限制,別人請(qǐng)求的時(shí)候就會(huì)因?yàn)榭缬蚨?qǐng)求不到了。
不過這種問題是沒辦法限制的,別人可以訪問你的css文件然后復(fù)制一下就ok了。如果你要搞別人,你把css文件在服務(wù)端刪掉就行了,自己改個(gè)名字重新引用。
前端就是完全暴露的,沒法防。就算是混淆代碼,壓縮之類的手段,也只是初級(jí)保護(hù)而已,有很多技術(shù)手段可以增強(qiáng)其可讀性的,如果人家不讀不改,直接用就更防不了了。
后臺(tái)保護(hù)也是白搭,因?yàn)樗袃?nèi)容最終都會(huì)轉(zhuǎn)化成 HTML/CSS/JS 暴露在前端,瀏覽器只能識(shí)別這個(gè)。等 WebAssembly 用起來之后可能會(huì)有所改觀。
目前如果真要防,還是通過契約和法制手段比較合適。