中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過禁用JavaScript的方式實現復制粘貼

發布時間:2021-04-09 09:30:27 來源:億速云 閱讀:1224 作者:小新 欄目:web開發

這篇文章給大家分享的是有關如何通過禁用JavaScript的方式實現復制粘貼的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

早上起來睜開眼,誒呀,考試周又到了。各個科目的期中作業都在各自的平臺陸續發布了。各種亂七八糟的科目,讓人煩不勝煩。

以iwrite英語教學平臺為例,先來補一補之前落下的英語作文。剛點到輸入框,就彈出來了禁止粘貼的消息框,emmm,這都大學了,師生之間連這點基本的信任都沒有嗎?
如何通過禁用JavaScript的方式實現復制粘貼

不過,作為一名準程序員,這個問題可難不倒我。編程的本質是處理信息,編程的意義是提高效率,編程的快樂在于解決問題,既然今天遇到了這個問題,那就倒杯茶,慢慢來解解這個bug

為什么無法粘貼?

首先要來了解ctrl+c復制下來的內容,為什么無法通過ctrl+v進行粘貼?通過前端知識的學習,我知道網頁上的消息彈框鼠標行為等都是由javascript控制的。那么在網頁上禁止粘貼,實際上就是網頁對鼠標右鍵的粘貼行為進行了禁止

查閱資料后發現的確如此,下面是JavaScript中對網頁特定功能開啟或關閉的語句,顯然,類似iwrite這樣的平臺的Js文件中,對粘貼功能進行了false處理。如果在網站開發中你也想要為你的網頁加入類似這樣惡心的功能,直接將下面這些代碼錄入到你的Js代碼中即可。

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

從技術層面講,直接在前端頁面找到document.onpaste = function(){ return false; };語句,將其返回值改為true即可,但是,更多的網頁對鼠標實現的是動態Js事件,這個思路首先被Pass掉,那就只能通過禁用JavaScript來跳過禁用粘貼的語句了。

既然知道了原因是因為JavaScript對粘貼功能進行了限制,那么解Bug的思路就很明確了,只要瀏覽器禁用JavaScript,問題就迎刃而解了。

等等,問題真的只是禁用JavaScript這么簡單嗎?實際上確實如此,禁用了JavaScript就相當于關閉了前端校驗,在程序界有這樣一句話:前端校驗防君子,后端校驗防小人。說的就是前端校驗的安全性為0,而后端校驗的安全性則固若金湯。

前端校驗一般是為了增加用戶體驗,不過禁止粘貼這個功能的體驗就很微妙,這就很煩;而重要的校驗,如登錄用戶名、密碼等重要信息,都是要交給后端,通過后端技術,如JSR303等進行校驗。前者減少了服務器的壓力,后者更加安全,兩者配合額,妙哉妙哉。

舉個栗子:假設有一個簡單的用戶登錄功能,而我們只做了前端檢驗。那么此時用戶可以按下F12鍵,通過瀏覽器的控制臺來人為的修改前端代碼,手動將前端校驗規則改變或者直接關閉,此時即使輸入錯誤的密碼,也會可以登錄成功的。原因就是缺少更加安全的后端校驗。

幸運的是,禁用粘貼這個功能是由JavaScript控制的,僅僅涉及了前端內容。下面通過禁用JavaScript的方法解決這一問題

解決方案

首先,在需要進行粘貼的頁面按下F12鍵,打開控制臺
如何通過禁用JavaScript的方式實現復制粘貼
然后,在控制臺頁面按下F1鍵,打開控制臺設置

如何通過禁用JavaScript的方式實現復制粘貼
在控制臺設置頁面找到并勾選Debugger中的Disable JavaScript選框。
如何通過禁用JavaScript的方式實現復制粘貼

此時,JavaScript功能已經被禁用,頁面的粘貼功能已經恢復了,趕緊粘貼自己的小作文過來。

如何通過禁用JavaScript的方式實現復制粘貼
提交后,成功得到了81分的成績,所以猜測,頁面的計時功能并不在機器評分的考慮范疇之內,可以放心使用。

如何通過禁用JavaScript的方式實現復制粘貼

上面的解決方案,實際上對一些網站上內容無法復制的情況也是適用的。如某度文庫,就是需要付費才可以進行文字復制,通過禁用JavaScript的方式,同樣可以實現大段文字的復制。通過解決這個學習上的小問題,可以看到,其實無論前端還是后端,其實都是很有意思的嘛!

感謝各位的閱讀!關于“如何通過禁用JavaScript的方式實現復制粘貼”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沾化县| 寿阳县| 北辰区| 乐都县| 镇坪县| 紫阳县| 肥东县| 育儿| 通城县| 龙泉市| 武定县| 建宁县| 尚志市| 霍城县| 长宁区| 五家渠市| 临颍县| 汕尾市| 比如县| 大城县| 山东省| 金溪县| 柘城县| 伊川县| 宜城市| 鹤壁市| 西丰县| 抚顺县| 津南区| 永靖县| 衡阳市| 鹤峰县| 闵行区| 固安县| 红河县| 邵阳市| 石河子市| 昭通市| 武宁县| 武乡县| 天柱县|