您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何通過禁用JavaScript的方式實現復制粘貼的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
早上起來睜開眼,誒呀,考試周又到了。各個科目的期中作業都在各自的平臺陸續發布了。各種亂七八糟的科目,讓人煩不勝煩。
以iwrite英語教學平臺為例,先來補一補之前落下的英語作文。剛點到輸入框,就彈出來了禁止粘貼的消息框,emmm,這都大學了,師生之間連這點基本的信任都沒有嗎?
不過,作為一名準程序員,這個問題可難不倒我。編程的本質是處理信息,編程的意義是提高效率,編程的快樂在于解決問題,既然今天遇到了這個問題,那就倒杯茶,慢慢來解解這個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
鍵,打開控制臺
然后,在控制臺頁面按下F1
鍵,打開控制臺設置
在控制臺設置頁面找到并勾選Debugger
中的Disable JavaScript
選框。
此時,JavaScript
功能已經被禁用,頁面的粘貼功能已經恢復了,趕緊粘貼自己的小作文過來。
提交后,成功得到了81分的成績,所以猜測,頁面的計時功能并不在機器評分的考慮范疇之內,可以放心使用。
上面的解決方案,實際上對一些網站上內容無法復制的情況
也是適用的。如某度文庫,就是需要付費才可以進行文字復制,通過禁用JavaScript
的方式,同樣可以實現大段文字的復制。通過解決這個學習上的小問題,可以看到,其實無論前端還是后端,其實都是很有意思的嘛!
感謝各位的閱讀!關于“如何通過禁用JavaScript的方式實現復制粘貼”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。