Cet article vous apprendra comment copier et coller des devoirs de cours en ligne. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Je me suis réveillé le matin et j'ai ouvert les yeux, oh, la semaine des examens est de retour. Les devoirs de mi-session pour chaque matière ont été publiés sur leurs plateformes respectives. Toutes sortes de sujets compliqués sont ennuyeux.
En prenant comme exemple la plateforme d'enseignement de l'anglais iwrite, rattrapons d'abord la composition en anglais qui m'a manqué auparavant. Dès que j'ai cliqué sur la zone de saisie, une boîte de message est apparue interdisant de coller, emmm, c'est l'université, n'avons-nous même pas cette confiance fondamentale entre professeurs et étudiants ?
Cependant, en tant que quasi-programmeur, ce problème n'est pas difficile pour moi. L'essence de la programmation est de traiter l'information. Le sens de la programmation est d'améliorer l'efficacité. La joie de la programmation réside dans la résolution de problèmes. Puisque vous avez rencontré ce problème aujourd'hui, versez une tasse de thé et résolvez lentement ce bug
Tout d'abord, nous devons comprendre le contenu copié par ctrl+c
Pourquoi ne pouvons-nous pas le coller via ctrl+v
? Grâce à l'apprentissage de connaissances frontales, je sais que 消息弹框
et 鼠标行为
sur la page Web sont tous contrôlés par javascript
. Donc 禁止粘贴
sur la page Web est en fait 网页对鼠标右键的粘贴行为进行了禁止
.
Après avoir vérifié les informations, j'ai constaté que c'est effectivement le cas. Voici les déclarations dans JavaScript
qui activent ou désactivent des fonctions spécifiques de la page Web. Évidemment, dans les fichiers Js de plateformes comme. iwrite
, la fonction coller a été false
Processus. Si vous souhaitez également ajouter des fonctions dégoûtantes comme celle-ci à votre page Web pendant le développement du site Web, entrez simplement le code suivant dans votre code 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
D'un point de vue technique, recherchez simplement l'instruction document.onpaste = function(){ return false; };
directement sur la page frontale et changez sa valeur de retour en true. Cependant, davantage de pages Web implémentent 动态Js事件
pour la souris en premier. S'il est réussi, vous ne pouvez utiliser 禁用JavaScript
que pour ignorer l'instruction qui désactive le collage.
Maintenant que nous savons que la raison est que JavaScript
restreint la fonction de collage, l'idée de résoudre le bug est très claire. Tant que le navigateur désactive JavaScript
, le problème persistera. être résolu.
Attendez, le problème est-il vraiment aussi simple que de désactiver JavaScript
? En fait, c'est effectivement le cas. Désactiver JavaScript
équivaut à désactiver la vérification frontale. Il y a un dicton dans le monde de la programmation : La vérification frontale empêche les messieurs, et la vérification back-end empêche les méchants. Cela signifie que la sécurité de la vérification frontale est de 0, tandis que la sécurité de la vérification back-end est imprenable.
La vérification frontale vise généralement à améliorer l'expérience utilisateur, mais l'expérience d'interdiction du collage est très subtile, ce qui est une vérification très ennuyeuse et importante, comme le nom d'utilisateur de connexion, le mot de passe et d'autres informations importantes ; , tous doivent être transmis au backend pour vérification via une technologie backend, telle que JSR303, etc. Le premier réduit la pression sur le serveur et le second est plus sécurisé. La combinaison des deux est merveilleuse.
Par exemple : supposons qu'il existe une simple fonction de connexion utilisateur et que nous effectuons uniquement des tests frontaux. À ce stade, l'utilisateur peut appuyer sur la touche F12
pour modifier manuellement le code frontal via la console du navigateur, modifier manuellement les règles de vérification frontale ou le fermer directement à ce moment, même si un mot de passe erroné est saisi. , la connexion sera réussie. La raison est le manque de vérification back-end plus sécurisée.
Heureusement, la désactivation de la fonction Coller est contrôlée par JavaScript
et ne concerne que le contenu front-end. La méthode suivante résout ce problème en désactivant JavaScript
Tout d'abord, Appuyez sur la touche F12
de la page où vous souhaitez coller et ouvrez la console
Ensuite, appuyez sur la touche F1
de la page de la console pour ouvrir les paramètres de la console
Recherchez et cochez la case Debugger
dans Disable JavaScript
sur la page des paramètres de la console.
À l'heure actuelle, la fonction JavaScript
a été désactivée et la fonction coller sur la page a été restaurée. Dépêchez-vous et collez votre propre composition.
Après la soumission, j'ai obtenu un score de 81 points, donc je suppose que la fonction de synchronisation de la page n'entre pas dans le cadre de la notation automatique, vous pouvez donc l'utiliser en toute confiance.
La solution ci-dessus est en fait applicable à certains sites Web 内容无法复制的情况
. Par exemple, dans une certaine bibliothèque, vous devez payer pour copier du texte. En désactivant JavaScript
, vous pouvez également copier de grandes sections de texte. En résolvant ce petit problème d’apprentissage, vous constaterez que le front-end et le back-end sont en réalité très intéressants !
Pour plus de connaissances sur la programmation, veuillez visiter : Vidéo de programmation ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!