Tắt dán văn bản vào biểu mẫu HTML


96

Có cách nào sử dụng JavaScript để vô hiệu hóa khả năng dán văn bản vào trường văn bản trên biểu mẫu HTML không?

Ví dụ: Tôi có một biểu mẫu đăng ký đơn giản mà người dùng được yêu cầu nhập email của họ hai lần. Mục nhập email thứ hai là để xác minh không có lỗi chính tả trong mục nhập email đầu tiên. Tuy nhiên, nếu người dùng sao chép / dán email của họ thì điều đó không phù hợp với mục đích và tôi đã gặp phải trường hợp người dùng gặp sự cố vì họ đã nhập sai email và sao chép / dán nó.

Có thể tôi không rõ câu hỏi của mình nhưng tôi không cố gắng ngăn mọi người sao chép (hoặc kéo chọn) văn bản trên trình duyệt của họ. Tôi chỉ muốn ngăn họ dán đầu vào vào trường văn bản để giảm thiểu lỗi người dùng.

Có lẽ thay vì sử dụng "hack" này, bạn có thể đề xuất một giải pháp khác cho vấn đề cốt lõi của những gì tôi đang cố gắng giải quyết ở đây? Tôi đã thực hiện ít hơn nửa tá thử nghiệm người dùng và điều này đã xảy ra hai lần. Đối tượng của tôi không có trình độ tin học cao.


111
Ngăn mọi người sao chép / dán địa chỉ email của họ từ sổ địa chỉ vào trình duyệt của họ. Nó sẽ đi xuống tốt.
Quentin

28
Không thể làm gì nhiều khi khách hàng khăng khăng thay đổi. thưởng thức đồ uống của bạn :)
justinl

15
Sẽ hoàn toàn ổn nếu anh ta chỉ tắt dán vào trường xác minh khi email KHÔNG được dán vào trường ban đầu. Nói cách khác, người dùng sẽ phải dán email vào cả hai trường hoặc cả hai trường.
GJ.

25
Nếu khách hàng yêu cầu điều này, hãy cho họ biết ý kiến ​​đó tồi tệ như thế nào. Đó là một cách tuyệt vời để chọc giận khách hàng ngay tại thời điểm họ có nhiều khả năng sẽ bỏ đi (tại thời điểm đăng ký). Bạn không muốn một mối quan hệ với khách hàng bắt đầu bằng việc khách hàng bị xa lánh. Thực tiễn này đang ngày càng trở nên phổ biến và ngày càng bị phản đối khi ngày càng có nhiều người sử dụng trình quản lý mật khẩu. Xem thêm: ux.stackexchange.com/q/21062/9529 và ob. xkcd: xkcd.com/970
Mark Booth

Tôi đã tìm thấy câu hỏi này trong khi tìm cách đánh bại "tính năng" này với trình kiểm tra phần tử. Nó đã làm việc!
SVD

Câu trả lời:


53

Gần đây tôi đã phải miễn cưỡng tắt tính năng dán trong phần tử biểu mẫu. Để làm như vậy, tôi đã viết một triển khai trình duyệt chéo * của trình xử lý sự kiện onpaste của Internet Explorer (và của những người khác). Giải pháp của tôi phải độc lập với bất kỳ thư viện JavaScript của bên thứ ba nào.

Đây là những gì tôi nghĩ ra. Nó không hoàn toàn vô hiệu hóa quá trình dán (ví dụ: người dùng có thể dán một ký tự duy nhất tại một thời điểm), nhưng nó đáp ứng nhu cầu của tôi và tránh phải xử lý các mã khóa, v.v.

// Register onpaste on inputs and textareas in browsers that don't
// natively support it.
(function () {
    var onload = window.onload;

    window.onload = function () {
        if (typeof onload == "function") {
            onload.apply(this, arguments);
        }

        var fields = [];
        var inputs = document.getElementsByTagName("input");
        var textareas = document.getElementsByTagName("textarea");

        for (var i = 0; i < inputs.length; i++) {
            fields.push(inputs[i]);
        }

        for (var i = 0; i < textareas.length; i++) {
            fields.push(textareas[i]);
        }

        for (var i = 0; i < fields.length; i++) {
            var field = fields[i];

            if (typeof field.onpaste != "function" && !!field.getAttribute("onpaste")) {
                field.onpaste = eval("(function () { " + field.getAttribute("onpaste") + " })");
            }

            if (typeof field.onpaste == "function") {
                var oninput = field.oninput;

                field.oninput = function () {
                    if (typeof oninput == "function") {
                        oninput.apply(this, arguments);
                    }

                    if (typeof this.previousValue == "undefined") {
                        this.previousValue = this.value;
                    }

                    var pasted = (Math.abs(this.previousValue.length - this.value.length) > 1 && this.value != "");

                    if (pasted && !this.onpaste.apply(this, arguments)) {
                        this.value = this.previousValue;
                    }

                    this.previousValue = this.value;
                };

                if (field.addEventListener) {
                    field.addEventListener("input", field.oninput, false);
                } else if (field.attachEvent) {
                    field.attachEvent("oninput", field.oninput);
                }
            }
        }
    }
})();

Để sử dụng điều này để vô hiệu hóa dán:

<input type="text" onpaste="return false;" />

* Tôi biết oninput không phải là một phần của thông số kỹ thuật DOM W3C, nhưng tất cả các trình duyệt tôi đã thử nghiệm mã này với — Chrome 2, Safari 4, Firefox 3, Opera 10, IE6, IE7 — hỗ trợ oninput hoặc onpaste. Trong số tất cả các trình duyệt này, chỉ có Opera không hỗ trợ onpaste, nhưng nó hỗ trợ oninput.

Lưu ý: Tính năng này sẽ không hoạt động trên bảng điều khiển hoặc hệ thống khác sử dụng bàn phím ảo (giả sử bàn phím ảo không gửi các phím đến trình duyệt khi từng phím được chọn). Nếu có khả năng trang / ứng dụng của bạn có thể được sử dụng bởi ai đó có bàn phím ảo và Opera (ví dụ: Nintendo Wii, một số điện thoại di động), đừng sử dụng tập lệnh này trừ khi bạn đã kiểm tra để đảm bảo bàn phím ảo gửi các phím đến trình duyệt sau mỗi lần chọn phím.


58
Để ngăn firefox tuân theo quy tắc ngu ngốc này, hãy truy cập about: config và thay đổi dom.event.clipboardevents.enabled thành false
lolesque

1
thậm chí nếu tôi không kể js bạn đã viết, tôi có thể để ngăn chặn người dùng từ dán bất cứ điều gì bởi chỉ bao gồm onpaste="return false", là có bất kỳ vấn đề nếu tôi đi với cách tiếp cận đó
viveksinghggits

@viveksinghggits Mã triển khai onpastetrong các trình duyệt chưa cung cấp mã. Bạn nói " Tôi có thể ngăn người dùng dán bất kỳ thứ gì " nhưng bạn đã kiểm tra điều này trên những trình duyệt nào?
AnnanFay

Liên quan đến việc triển khai, tôi thấy hai cải tiến rõ ràng: 1) chỉ chạy mã trong các trình duyệt mà onpaste nó chưa được hỗ trợ, 2) thực thi lại khi DOM được sửa đổi - hiện tại nó sẽ không được áp dụng cho các đầu vào được thêm động.
AnnanFay

@Rick, vậy là bạn đã OK với textareas nơi người dùng có thể dán bất cứ thứ gì vào đó? Becuz họ sẽ mong đợi nó trông giống hệt nhau trong các màn hình khác, nơi dữ liệu đã dán được hiển thị và họ sẽ mong đợi nó trông giống hệt khi dữ liệu đó được chèn vào email. Đối với tôi, tôi không muốn các cuộc gọi điện thoại và email hỗ trợ đi kèm với điều đó. Để tắt dán trong một trường cụ thể là một tùy chọn và câu hỏi khả thi, IMHO. Vấn đề mà hầu hết chúng ta đang gặp phải là khi chúng ta sử dụng "Trình chỉnh sửa văn bản đa dạng thức" - những thứ đó dường như ghi đè bất kỳ lệnh javascript hoặc jquery nào hiện có để ngăn việc dán.
McAuley

144

Đừng làm vậy. Đừng gây rối với trình duyệt của người dùng. Bằng cách Sao chép + Dán vào trường xác nhận E-Mail, người dùng chấp nhận trách nhiệm về những gì họ nhập. Nếu họ đủ ngu ngốc để sao chép + dán một địa chỉ bị lỗi (nó đã xảy ra với tôi) thì đó là lỗi của chính họ.

Nếu bạn muốn đảm bảo rằng xác nhận E-Mail hoạt động tốt, hãy yêu cầu người dùng kiểm tra E-Mail của họ trong khi trang web của bạn chờ đợi ("Vui lòng mở chương trình webmail của bạn trong một cửa sổ mới"). Hiển thị địa chỉ E-Mail bằng các chữ cái lớn ("E-Mail xác nhận đã được gửi đến .... bị lỗi? Nhấp vào đây để thay đổi).

Tốt hơn nữa, nếu bạn có thể, hãy cho phép người dùng có một số loại quyền truy cập hạn chế mà không cần xác nhận. Bằng cách đó, họ có thể đăng nhập ngay lập tức và bạn cải thiện cơ hội giữ liên lạc với khách truy cập ngay cả khi thư xác nhận bị chặn do các lý do khác (ví dụ: bộ lọc thư rác).


6
Tôi đồng ý với câu trả lời của bạn cho một tình huống khi người dùng tự nhập dữ liệu. Tuy nhiên, khi người dùng thay mặt người khác nhập địa chỉ email - ví dụ: hệ thống CRM hoặc hệ thống tương tự - thì việc triển khai giải pháp của bạn là không khả thi. Trong những trường hợp này, người dùng không nhập địa chỉ email của chính họ nên họ có khả năng viết sai chính tả. Nếu bạn cho phép dán vào hộp xác nhận email thì bạn sẽ nhận được nhiều dữ liệu không chính xác vì vậy không có gì sai khi ngăn việc dán. Là một nhà phát triển, bạn phải giảm thiểu những người dùng "đủ ngu ngốc" để bảo vệ dữ liệu của doanh nghiệp.
theyetiman

12
Cũng có một trường hợp phổ biến là nhà phát triển xem xét câu hỏi này có rất ít hoặc không kiểm soát được các yêu cầu của dự án mà họ đang thực hiện. Đây không phải là câu trả lời cho câu hỏi đang được hỏi ở đây, vì vậy -1.
Nick

4
Nói không làm không trả lời câu hỏi. Tôi hiện có một yêu cầu trong đó dán phải bị vô hiệu hóa.
Darian Everett

13
nếu bạn từng được đưa ra một yêu cầu như thế này, thì nhiệm vụ của bạn là một chuyên gia phải đẩy lùi nó. bạn còn hơn cả một đôi tay biết viết mã.
Dan Pantry,

2
Nhưng có những lý do hợp lệ cho hầu hết mọi thứ và việc không trả lời câu hỏi của ai đó bởi vì bạn không nghĩ rằng lý do của HỌ là hợp lệ khiến bạn khó chịu. Giả sử bạn có một bài kiểm tra mà bạn đang cố gắng thực hiện với các câu trả lời phức tạp. Việc vô hiệu hóa dán và buộc học sinh phải nhập toàn bộ câu trả lời thay vì sao chép dán sẽ khiến họ lưu câu trả lời vào bộ nhớ trong khi chỉ một bản sao dán có thể sẽ vô giá trị. Có một lý do hợp lệ để làm điều này. Cảnh báo với ai đó rằng những gì họ đang cố gắng làm không phải là một ý kiến ​​hay trong hầu hết các trường hợp, nhưng hãy đưa ra câu trả lời ... hoặc tốt nhất là đừng bận tâm trả lời.
Halfhoot

69

Thêm một lớp 'disablecopypaste' vào các đầu vào mà bạn muốn tắt chức năng sao chép dán và thêm tập lệnh jQuery này

  $(document).ready(function () {
    $('input.disablecopypaste').bind('copy paste', function (e) {
       e.preventDefault();
    });
  });

1
Hoạt động tốt cho tôi, xe tăng!
Gabriel Glauber

26

Chỉ cần có được điều này, chúng ta có thể đạt được nó bằng cách sử dụng onpaste:"return false": http://sumtips.com/2011/11/prevent-copy-cut-paste-text-field.html

Chúng tôi có nhiều tùy chọn khác có sẵn như được liệt kê bên dưới.

<input type="text" onselectstart="return false" onpaste="return false;" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off/><br>

16

Bạn có thể ..... nhưng đừng.

Bạn không nên thay đổi hành vi mặc định của trình duyệt người dùng. Nó thực sự là khả năng sử dụng kém cho ứng dụng web của bạn. Ngoài ra, nếu người dùng muốn vô hiệu hóa hack này thì họ có thể vô hiệu hóa javascript trên trình duyệt của họ.

Chỉ cần thêm các thuộc tính này vào hộp văn bản

ondragstart=”return false onselectstart=”return false

6
câu hỏi là về cách tắt dán. kỹ thuật này sẽ chỉ làm cho việc sao chép khó khăn và không có hiệu lực dán.
uốn cong

10

Ý tưởng điên rồ: Yêu cầu người dùng gửi email cho bạn như một phần của quá trình đăng ký. Điều này rõ ràng sẽ gây bất tiện khi nhấp vào liên kết mailto không hoạt động (ví dụ: nếu họ đang sử dụng webmail), nhưng tôi thấy đó là một cách để đảm bảo đồng thời chống lỗi chính tả và xác nhận địa chỉ email.

Nó sẽ như thế này: Họ điền vào hầu hết các biểu mẫu, nhập tên, mật khẩu của họ và những gì không. Khi họ đẩy gửi, họ thực sự nhấp vào một liên kết để gửi thư đến máy chủ của bạn. Bạn đã lưu thông tin khác của họ, vì vậy tin nhắn chỉ bao gồm một mã thông báo cho biết tài khoản này dành cho tài khoản nào.


Ha, đó là một ý tưởng gọn gàng.
justinl

7

Làm thế nào về việc gửi một email xác nhận đến địa chỉ email mà người dùng vừa nhập hai lần, trong đó có một liên kết đến URL xác nhận trên trang web của bạn, sau đó bạn biết rằng họ đã nhận được thư?

Bất kỳ ai không nhấp để xác nhận việc nhận email có thể đã nhập sai địa chỉ email của họ.

Không phải là một giải pháp hoàn hảo, nhưng chỉ là một số ý tưởng.


4
Tôi có triển khai này hiện tại. Vấn đề là người dùng cho rằng họ không nhận được email do lỗi từ phía chúng tôi vì họ kiểm tra địa chỉ email mà họ nghĩ rằng họ đã nhập và họ không có email. Ngoài ra, điều xảy ra là khi họ cố gắng đăng ký lại, tên người dùng mà họ đã sử dụng hiện không khả dụng vì nó bị kẹt với địa chỉ email không chính xác đó.
justinl

Tnen có thể thêm một số quy trình làm việc / mã chạy hàng ngày để xóa tên người dùng chưa được xác nhận trong 2 ngày.
Colin

1
Cảm ơn đã nhận xét. Suy nghĩ của tôi là nếu bạn cố gắng tạo một tài khoản trên một trang web và thông báo rằng tên người dùng của bạn đã được sử dụng, bạn có quay lại sau 2 ngày và thử lại không? Suy nghĩ của tôi rất có thể là không. Hoặc bạn đã tạo một tài khoản mới với tên người dùng khác trong cùng ngày hoặc bạn không buồn quay lại trang web vì bạn không thể tìm ra cách đăng ký và trang web "quá phức tạp".
justinl

8
Để tiếp tục những gì Colin đang nói, bạn có thể giả định rằng khi ai đó đang cố gắng đăng ký lại với cùng một tên người dùng và một địa chỉ email khác và họ chưa trả lời thông báo xác nhận thì có thể để họ làm như vậy. Bạn có thể thấy rằng mọi người nhận được tên miền chính xác trong email của họ nhưng viết sai chính tả tên người dùng của họ và có thể sử dụng điều này để xác định thêm khi ai đó đã mắc lỗi?
Richard Lucas

1
Tôi rất thích ý tưởng cho phép người dùng đăng ký lại những người chưa xác nhận thông tin tài khoản của mình. Tôi nghĩ giải pháp thiết kế này tốt hơn giải pháp kỹ thuật được đề xuất ban đầu của tôi. Mọi người đều biết rằng việc thay đổi chức năng trình duyệt mặc định này là một ý tưởng tồi, đó là những gì tôi cần nghe để tìm ra giải pháp tốt hơn.
justinl

7

Bạn có thể sử dụng jquery

Tệp HTML

<input id="email" name="email">

mã jquery

$('#email').bind('copy paste', function (e) {
        e.preventDefault();
    });

6

Mở rộng câu trả lời @boycs , tôi cũng khuyên bạn nên sử dụng "on".

$('body').on('copy paste', 'input', function (e) { e.preventDefault(); });

Phương pháp này hữu ích nếu bạn định áp dụng tập lệnh cho các phần tử biểu mẫu được thêm động.
Matthew

3

nếu bạn phải sử dụng 2 trường email và lo lắng về việc người dùng dán không chính xác cùng một email bị nhập sai từ trường 1 đến trường 2 thì tôi sẽ nói rằng hãy hiển thị một cảnh báo (hoặc một cái gì đó tinh vi hơn) nếu người dùng dán một cái gì đó vào trường email thứ hai

document.querySelector('input.email-confirm').onpaste = function(e) {
    alert('Are you sure the email you\'ve entered is correct?');
}

Bằng cách này, bạn không tắt tính năng dán, bạn chỉ đưa ra lời nhắc thân thiện cho họ để kiểm tra những gì họ có thể đã nhập vào trường đầu tiên và sau đó dán vào trường thứ hai là chính xác.

tuy nhiên, có lẽ chỉ cần một trường email với tính năng tự động hoàn thành là đủ. rất có thể họ đã điền chính xác email của mình trước đây trên một trang web khác vào một thời điểm nào đó và trình duyệt sẽ đề xuất điền vào trường bằng email đó

<input type="email" name="email" required autocomplete="email">

2

Bạn có thể đính kèm trình nghe "keydown" vào hộp nhập liệu để phát hiện xem các phím Ctrl + V có đang được nhấn hay không và nếu có, hãy dừng sự kiện hoặc đặt giá trị của hộp nhập thành ''.

Tuy nhiên, điều đó sẽ không xử lý việc nhấp chuột phải và dán hoặc dán từ menu Chỉnh sửa của trình duyệt. Bạn có thể cần thêm bộ đếm "độ dài cuối cùng" vào trình nghe phím xuống và sử dụng một khoảng thời gian để kiểm tra độ dài hiện tại của trường để xem nó có tăng lên kể từ lần nhấn phím cuối cùng hay không.

Tuy nhiên, không được khuyến khích. Các trường biểu mẫu bị vô hiệu hóa dán rất khó chịu. Tôi có thể gõ chính xác email của mình trong lần đầu tiên, vì vậy tôi có quyền dán nó vào ô thứ hai.


Không phải nhấp chuột phải hoặc thậm chí bất cứ thứ gì từ Apples, Unix hoặc ctrl-in, còn iPhone thì sao?
Martlark

Tôi cũng không phải là người thích vô hiệu hóa trường đầu vào vì tôi thấy điều đó khiến bản thân bực bội. Nhưng các tùy chọn khác để ngăn chặn loại lỗi người dùng này là gì? Hoặc giải pháp nào sẽ kết thúc với ít đăng ký người dùng hoàn thành sai nhất? Có vẻ hơi khó chịu khi phải nhập lại địa chỉ email theo cách thủ công, nhưng nếu điều đó sẽ tiết kiệm được những khách hàng tiềm năng thất vọng thì tôi muốn buộc người dùng phải nhập thủ công một cái gì đó vào trường nhập. Tôi nghĩ rằng đó không phải là một sự bất tiện lớn và sự thất vọng mà nó có thể cứu ai đó khỏi một sai lầm đơn giản có thể xóa bỏ nó. Suy nghĩ?
justinl

2

Thêm bước thứ hai vào quy trình đăng ký của bạn. Trang đầu tiên như bình thường, nhưng khi tải lại, hiển thị trang thứ hai và hỏi lại email. Nếu nó quan trọng, người dùng có thể xử lý nó.


1

từ

Một số có thể đề xuất sử dụng Javascript để nắm bắt hành động của người dùng, như nhấp chuột phải vào chuột hoặc tổ hợp phím Ctrl + C / Ctrl + V và sau đó dừng hoạt động. Nhưng đây rõ ràng không phải là giải pháp tốt nhất hoặc đơn giản nhất. Giải pháp được tích hợp trong chính các thuộc tính của trường đầu vào cùng với một số tính năng ghi lại sự kiện bằng cách sử dụng Javascript.

Để tắt tính năng tự động hoàn thành của trình duyệt, chỉ cần thêm thuộc tính vào trường đầu vào. Nó sẽ trông giống như sau:

<input type="text" autocomplete="off">

Và nếu bạn muốn từ chối Sao chép và Dán cho trường đó, chỉ cần thêm sự kiện Javascript ghi lại các lệnh gọi oncopy, onpaste và oncut và làm cho chúng trả về false, như sau:

<input type="text" oncopy="return false;" onpaste="return false;" oncut="return false;">

Bước tiếp theo là sử dụng onselectstart để từ chối lựa chọn nội dung của trường đầu vào từ người dùng, nhưng được cảnh báo: điều này chỉ hoạt động đối với Internet Explorer. Phần còn lại ở trên hoạt động tốt trên tất cả các trình duyệt chính: Internet Explorer, Mozilla Firefox, Apple Safari (ít nhất là trên Windows OS) và Google Chrome.


Mặc dù về mặt lý thuyết, điều này có thể trả lời câu hỏi, nhưng tốt hơn hết bạn nên đưa các phần thiết yếu của câu trả lời vào đây và cung cấp liên kết để tham khảo.
Kev

yaah, tôi sẽ chăm sóc lần sau trở đi
vaichi rút lại.

1
Tại sao không bắt đầu ngay bây giờ bằng cách mô tả những gì được "giải thích rất độc đáo", đó là cách bạn nhận được sự ủng hộ và đại diện tốt hơn :)
Kev

Có thể biện minh gì cho việc (cố gắng) tắt tính năng tự động hoàn thành? "Chúng tôi ghét người dùng của mình!" ? Nếu bạn đang cố gắng trở thành kẻ thù của người dùng, họ sẽ ghét bạn trong khi cuối cùng họ vẫn giành chiến thắng, vì họ kiểm soát trình duyệt.
Jan Hertsens 19/02/19

1

Kiểm tra tính hợp lệ của bản ghi MX của máy chủ của email đã cho. Điều này có thể loại bỏ lỗi ở bên phải của dấu @.

Bạn có thể thực hiện việc này bằng một lệnh gọi AJAX trước khi gửi và / hoặc phía máy chủ sau khi biểu mẫu được gửi.


1

Sử dụng jquery, bạn có thể tránh sao chép, dán và cắt bằng cách sử dụng này

$('.textboxClass').on('copy paste cut', function(e) {
    e.preventDefault();
});

Cảm ơn. Điều này thực sự đã hoạt động như nó nên làm.
Juergen

1

Tôi sử dụng giải pháp JS vani này:

const element = document.getElementById('textfield')
element.addEventListener('paste', e =>  e.preventDefault())



0

Giải pháp đơn giản: chỉ cần đảo ngược quy trình đăng ký: thay vì yêu cầu xác nhận ở cuối quy trình đăng ký, hãy yêu cầu xác nhận ngay từ đầu! Tức là quá trình đăng ký bắt đầu với một biểu mẫu đơn giản yêu cầu địa chỉ e-mail và không có gì khác. Sau khi gửi, một e-mail có liên kết đến trang xác nhận duy nhất của địa chỉ e-mail được gửi đi. Người dùng truy cập trang đó, sau đó phần còn lại của thông tin đăng ký (tên người dùng, họ và tên, v.v.) sẽ được yêu cầu.

Điều này rất đơn giản vì trang web thậm chí không cần lưu trữ bất cứ thứ gì trước khi xác nhận, địa chỉ e-mail có thể được mã hóa bằng khóa và được đính kèm như một phần của địa chỉ trang xác nhận.


0

Tôi đã làm điều gì đó tương tự như thế này cho http://bookmarkchamp.com - ở đó tôi muốn phát hiện khi nào người dùng sao chép nội dung nào đó vào trường HTML. Cách thực hiện mà tôi nghĩ ra là kiểm tra trường liên tục để xem liệu có bất kỳ lúc nào có rất nhiều văn bản trong đó không.

Nói cách khác: nếu một mili giây trước đây không có văn bản và bây giờ có hơn 5 ký tự ... thì người dùng có thể đã dán một cái gì đó vào trường.

Nếu bạn muốn thấy điều này hoạt động trong Bookmarkchamp (bạn cần đăng ký), hãy dán một URL vào trường URL (hoặc kéo và thả một URL vào đó).


0

Cách tôi sẽ giải quyết vấn đề xác nhận địa chỉ email như sau:

  1. Trước khi thực hiện quy trình chính - giả sử đăng ký người dùng - trước tiên hãy yêu cầu họ nhập địa chỉ email của mình.
  2. Tạo một mã duy nhất và gửi đến địa chỉ email đó.
  3. Nếu người dùng đã nhập đúng địa chỉ email, họ sẽ nhận được mã.
  4. Người dùng phải nhập mã đó cùng với địa chỉ email của họ và các thông tin cần thiết khác để họ có thể hoàn tất việc đăng ký. - Xin lưu ý rằng nếu lần này họ nhập sai địa chỉ email (hoặc mã sai), vì nó sẽ không khớp với mã, đăng ký sẽ không được thực hiện và người dùng sẽ được thông báo ngay lập tức.
  5. Nếu địa chỉ email, mã và các thông tin đăng ký khác đã được nhập chính xác, quá trình đăng ký hoàn tất và người dùng có thể bắt đầu sử dụng hệ thống ngay lập tức. - không cần trả lời bất kỳ địa chỉ email nào khác để kích hoạt tài khoản của họ

Để bảo mật tốt hơn, mã phải có thời hạn sử dụng hạn chế và chỉ được phép sử dụng một lần trong quá trình đăng ký. Ngoài ra, để ngăn chặn bất kỳ ứng dụng rô bốt độc hại nào, tốt hơn hết bạn nên đi kèm bước đầu tiên với hình ảnh xác thực hoặc một cơ chế tương tự.


0

Bạn có thể tắt tùy chọn sao chép dán bằng jQuery bằng đoạn mã dưới đây. jQuery ("input"). attr ("onpaste", "return false;");

của bằng cách sử dụng thuộc tính oppaste dưới đây vào các trường đầu vào.

onpaste = "return false;"


-1
Hope below code will work :

<!--Disable Copy And Paste-->
<script language='JavaScript1.2'>
function disableselect(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}
</script>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.