1. 程式人生 > 其它 >實現禁止複製貼上

實現禁止複製貼上

我們首先來介紹如何實現禁止複製,知道了禁止的方式,再破解就容易了。

實現禁止複製貼上
比較簡單,直接上程式碼:

<style type="text/css">
/* 最簡單的實現禁止複製的方法,採用css方式禁止文字選擇,當然這隻相容webkit核心瀏覽器 */
* { -webkit-user-select: none; }
p {font-family: 'Microsoft Yahei';font-size: 28px;}
input {width: 80%; padding: 10px 20px;}
</style>
<h1>本程式碼在UC手機瀏覽器上不生效,其它手機瀏覽器暫未發現問題、PC全部沒問題。</h1>
<p>這是一段示例文字,我無法被選中,也無法按下滑鼠右鍵,即使被選中你也無法複製!</p>
<input type="text" value="文字框中的文字可以選中,但是無法複製貼上"/>
<script type="text/javascript">
// 禁止右鍵選單
document.oncontextmenu = function(){ return false; };
// 禁止文字選擇
document.onselectstart = function(){ return false; };
// 禁止複製
document.oncopy = function(){ return false; };
// 禁止剪下
document.oncut = function(){ return false; };
// 禁止貼上
document.onpaste = function(){ return false; };
</script>

破解禁止複製貼上
知道如何禁止了,那破解這個限制就容易多了。

首先,絕大部分限制都是採用js實現的,那我禁用js不久OK了麼?突然發現我太聰明瞭!假如你使用的是Chrome或者其它國產webkit核心瀏覽器,按下F12 彈出開發者工具,再按下F1 彈出設定,勾選Disable JavaScript ,再按下ESC 鍵關閉設定(其它瀏覽器如何禁止JavaScript請自行研究),然後試試是不是可以複製了?

如果此時仍無法選擇文字,找到你要複製文字的地方,看看是不是添加了-webkit-user-select: none 的樣式,如果有,將其去掉即可:
或者包含以下內容的均可去除

-webkit-user-select: none;
-moz-user-select: none;
 -ms-user-select: none;
     user-select: none;

到了這裡應該就可以自由複製貼上了,複製完了記得把禁用JavaScript的地方還原回來哦。