【问题标题】:How to disable Copy, Paste into HTML form using Php如何使用 PHP 禁用复制、粘贴到 HTML 表单
【发布时间】:2015-04-17 06:00:10
【问题描述】:

我想防止人们在登录表单中粘贴密码。 PHP是否可以禁用粘贴到输入字段的功能。

【问题讨论】:

  • PHP 不能这样做,因为它是一种服务器端语言。为此,您必须使用Javascript/Jquery
  • 你到底想用这个做什么?阻止人们使用密码管理器,从而鼓励他们使用弱密码,以便他们记住或轻松输入?
  • 好的,我明白了。谢谢大家
  • 任何答案对您有帮助吗?如果是,请标记帮助您解决问题的正确答案。这样我们可以改进 stackoverflow 社区。请

标签: php


【解决方案1】:

您可以通过向input 添加一些属性来简单地使用HTML 执行此操作。

我不知道您为什么要为此使用PHP

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

【讨论】:

    【解决方案2】:

    使用下面的代码 HTML

    <input type="password" id="pwd">
    
    Jquery 
    
     $('#pwd').bind("cut copy paste",function(e) {
              e.preventDefault();
          });
    

    【讨论】:

      【解决方案3】:

      在 Jquery 中,您可以这样做来禁用整个页面上的复制粘贴

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

      【讨论】:

        【解决方案4】:

        使用它来禁用粘贴,如下所示:

        html:

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

        javascript:

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

        【讨论】:

          【解决方案5】:

          你不能用 php 来做,因为它是服务器端脚本语言。您将不得不使用 javascriptJquery

          来处理这种情况

          以下是可以提供帮助的选项。

          $(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;
          });
          

          谢谢 阿米特

          【讨论】:

            【解决方案6】:

            $(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">

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-03-11
              • 2010-11-16
              • 1970-01-01
              • 2011-09-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-12-08
              相关资源
              最近更新 更多