2015-04-17 58 views
2

我想阻止人们以登录形式粘贴密码。 PHP有可能禁用粘贴到输入字段的功能。如何禁用复制,粘贴到HTML表单使用Php

+7

你不能做到这一点的'PHP'因为它是一种服务器端语言。你必须为此使用'Javascript/Jquery'。 – Manwal

+4

你想用这个做什么?阻止人们使用密码管理器,并因此鼓励他们使用弱密码,以便他们可以记住或轻松输入密码? –

+0

可能重复的[禁用复制/粘贴到使用Javascript的HTML表单](http://stackoverflow.com/questions/1226574/disable-copy-paste-into-html-form-using-javascript) – Manwal

回答

0

使用此功能在你输入禁用贴如下:

HTML:

<input type="text" value="" id="myInput" /> 

的javascript:

window.onload = function() { 
var myInput = document.getElementById('myInput'); 
myInput.onpaste = function(e) { 
    e.preventDefault(); 
} 
} 
2

下面的代码 HTML使用

<input type="password" id="pwd"> 

Jquery 

$('#pwd').bind("cut copy paste",function(e) { 
      e.preventDefault(); 
     }); 
6

您只需在HTML中添加一些属性到input即可。

我不知道你为什么想用这个PHP

<input type="test" onCopy="return false" onDrag="return false" onDrop="return false" onPaste="return false"/>

0

使用PHP你不能这样做,因为它是服务器端脚本语言。你将不得不使用处理JavaScript的 jQuery的

在此之后的情况是,它可以帮助选项。

$(document).ready(function(){ 
     $('#txtInput').bind("cut copy paste",function(e) { 
      e.preventDefault(); 
     }); 
    }); 



jQuery('input.disablePaste').keydown(function(event) { 
    var forbiddenKeys = new Array('c', 'x', 'v'); 
    var keyCode = (event.keyCode) ? event.keyCode : event.which; 
    var isCtrl; 
    isCtrl = event.ctrlKey 
    if (isCtrl) { 
     for (i = 0; i < forbiddenKeys.length; i++) { 
      if (forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) { 
       return false; 
      } 
     } 
    } 
    return true; 
}); 

感谢 阿米特

0

jQuery中,你可以像这样对整个页面禁用复制粘贴

$('body').bind('copy paste',function(e) { 
    e.preventDefault(); return false; 
}); 
0

$(document).ready(function() { 
 
    $('#password').bind("cut copy paste", function(event) { 
 
    event.preventDefault(); 
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="password" id="password">