Metni HTML formuna yapıştırmayı devre dışı bırakın


96

HTML formundaki bir metin alanına metin yapıştırma özelliğini devre dışı bırakmak için JavaScript kullanmanın bir yolu var mı?

Örneğin, kullanıcının e-postasını iki kez girmesi gereken basit bir kayıt formum var. İkinci e-posta girişi, ilk e-posta girişinde yazım hatası olmadığını doğrulamak içindir. Bununla birlikte, kullanıcı e-postasını kopyalar / yapıştırırsa, bu amacın yerine geçer ve yanlış e-postayı girip kopyalayıp yapıştırdıkları için kullanıcılarla ilgili sorunlar yaşıyorum.

Belki sorum konusunda net değildim ama insanların tarayıcılarındaki metni kopyalamalarını (veya sürükleyerek seçmelerini) engellemeye çalışmıyorum. Kullanıcı hatasını en aza indirmek için girişleri bir metin alanına yapıştırmalarını engellemek istiyorum .

Belki de bu "hack" i kullanmak yerine burada çözmeye çalıştığım şeyin temel sorununa başka bir çözüm önerebilirsiniz? Yarım düzineden daha az kullanıcı testi yaptım ve bu zaten iki kez oldu. Hedef kitlemin yüksek düzeyde bilgisayar yeterliliği yok.


113
Kişilerin e-posta adreslerini adres defterlerinden tarayıcılarına kopyalamalarını / yapıştırmalarını engelleme. Bu iyi gidecek.
Quentin

28
Müşteri değişimde ısrar ettiğinde pek bir şey yapamaz. içkinizin tadını çıkarın :)
justinl

15
Yalnızca e-posta orijinal alana YAPIŞTIRILMADIĞINDA doğrulama alanına yapıştırmayı devre dışı bırakırsa, bu tamamen iyi olabilir. Diğer bir deyişle, kullanıcının e-postayı her iki alana da yapıştırması veya her iki alana yapıştırması gerekmeyecektir.
GJ.

25
Bir müşteri bunu sorarsa, bunun ne kadar kötü bir fikir olduğunu söyleyin. Bir müşteriyi, büyük olasılıkla çekip gidecekleri noktada (kayıt sırasında) sinirlendirmenin harika bir yoludur. Bir müşteri ilişkisinin müşterinin yabancılaşmasıyla başlamasını istemezsiniz. Bu uygulama, daha fazla kişi parola yöneticilerini kullandıkça hem giderek daha yaygın hem de giderek daha sakıncalı hale geliyor. Ayrıca bkz: ux.stackexchange.com/q/21062/9529 ve ob. xkcd: xkcd.com/970
Mark Booth

Eleman müfettişiyle bu "özelliği" nasıl yeneceğime bakarken bu soruyu buldum. İşe yaradı!
SVD

Yanıtlar:


54

Son zamanlarda bir form öğesinde yapıştırmayı gönülsüzce devre dışı bırakmak zorunda kaldım. Bunu yapmak için, Internet Explorer'ın (ve diğerlerinin) onpaste olay işleyicisinin tarayıcılar arası * bir uygulamasını yazdım. Çözümüm herhangi bir üçüncü taraf JavaScript kitaplığından bağımsız olmalıydı.

İşte bulduğum şey. Yapıştırmayı tamamen devre dışı bırakmaz (örneğin, kullanıcı bir seferde tek bir karakter yapıştırabilir), ancak ihtiyaçlarımı karşılar ve keyCodes vb. İle uğraşmak zorunda kalmaz.

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

Yapıştırmayı devre dışı bırakmak için bundan yararlanmak için:

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

* Girişin W3C DOM spesifikasyonunun bir parçası olmadığını biliyorum, ancak bu kodu test ettiğim tüm tarayıcılar — Chrome 2, Safari 4, Firefox 3, Opera 10, IE6, IE7 - giriş veya onpaste'i destekliyor. Tüm bu tarayıcılardan yalnızca Opera, onpaste'i desteklemiyor, ancak oninput'u destekliyor.

Not: Bu, ekran klavyesi kullanan bir konsolda veya başka bir sistemde çalışmaz (ekran klavyesinin her tuş seçildiğinde tarayıcıya tuşları göndermediği varsayılırsa). Sayfanızın / uygulamanızın ekran klavyesi ve Opera kullanan biri tarafından kullanılma olasılığı varsa (örneğin: Nintendo Wii, bazı cep telefonları), ekran klavyesinin olduğundan emin olmak için test yapmadıysanız bu komut dosyasını kullanmayın her tuş seçiminden sonra tarayıcıya anahtarları gönderir.


61
Firefox'un bu aptal kurala uymasını önlemek için şu adrese gidin: config ve dom.event.clipboardevents.enabled'ı false olarak değiştirin
lolesque

1
onpaste="return false"
Yazdığınız js'yi

@viveksinghggits Kod, henüz sunmayan onpastetarayıcılarda uygulanır . " Kullanıcının herhangi bir şeyi yapıştırmasını engelleyebiliyorum " diyorsunuz ama bunu hangi tarayıcılarda test ettiniz?
AnnanFay

Uygulama ile ilgili olarak iki bariz iyileştirme görüyorum: 1) kodu yalnızca onpaste'in henüz desteklenmediği tarayıcılarda çalıştırın, 2) DOM değiştirildiğinde yeniden çalıştırın - şu anda dinamik olarak eklenen girdilere uygulanmayacak.
AnnanFay

@Rick, kullanıcıların içine her şeyi yapıştırabilecekleri metin alanlarında sorun yok mu? Çünkü, yapıştırılan verilerin görüntülendiği diğer ekranlarda tamamen aynı görünmesini bekleyecekler ve bu veriler bir e-postaya eklendiğinde tam olarak aynı görünmesini bekleyecekler. Benim için bununla gelecek telefon görüşmelerini ve destek e-postalarını istemiyorum. Belirli bir alanda yapıştırmayı devre dışı bırakmak, uygulanabilir bir seçenek ve sorudur, IMHO. Çoğumuzun yaşadığı sorun, "Zengin Metin Düzenleyicileri" ni kullandığımız zamandır - bu şeyler, yapıştırmayı önlemek için mevcut olan javascript veya jquery komutlarını geçersiz kılıyor gibi görünüyor.
McAuley

144

Yapma. Kullanıcının tarayıcısıyla uğraşmayın. Bir E-Posta onay alanına Kopyala + Yapıştırarak, kullanıcı yazdıklarının sorumluluğunu kabul eder. Hatalı bir adresi kopyalayıp yapıştıracak kadar aptal iseler (benim başıma geldi) o zaman bu onların lanet olası hatasıdır.

E-Posta onayının çalıştığından emin olmak istiyorsanız, siteniz beklerken kullanıcının E-postasını kontrol etmesini sağlayın ("Lütfen web posta programınızı yeni bir pencerede açın"). E-Posta adresini büyük harflerle gösterin ("E-Postanın gönderildiği onaylama bir hata mı yaptı? Değiştirmek için burayı tıklayın).

Daha da iyisi, eğer yapabiliyorsanız, kullanıcının onaylamadan bir tür sınırlı erişime sahip olmasına izin verin. Bu şekilde, hemen oturum açabilirler ve onay postası başka nedenlerle (örneğin, spam filtreleri) engellenmiş olsa bile, ziyaretçiyle iletişim halinde kalma şansınızı artırırsınız.


6
Kullanıcılar verileri kendileri girerken bir senaryo için cevabınıza katılıyorum. Ancak, bir kullanıcı başka biri adına bir e-posta adresi girerken - örneğin, bir CRM sistemi veya benzeri - çözümünüzü uygulamak mümkün değildir. Bu gibi durumlarda, kullanıcı kendi e-posta adresini girmez, bu nedenle muhtemelen yanlış yazabilirler. E-posta onay kutusuna yapıştırmaya izin verirseniz, çok sayıda yanlış veri alırsınız, bu nedenle yapıştırmayı önlemede yanlış bir şey olmaz. Bir geliştirici olarak, işletmenin verilerini korumak için "yeterince aptal" kullanıcılara karşı hafifletmeniz gerekir.
2013

13
Bu soruya bakan geliştiricinin üzerinde çalıştıkları projenin gereksinimleri üzerinde çok az kontrol sahibi olduğu veya hiç kontrolünün olmadığı yaygın bir durum da vardır. Bu, burada sorulan sorunun cevabı değil, yani -1.
Nick

4
Yapma demek soruyu cevaplamaz. Şu anda yapıştırmanın devre dışı bırakılacağı bir gereksinimim var.
Darian Everett

13
Eğer böyle bir gereksinimle karşılaşırsanız, bir profesyonel olarak onu geri püskürtmek sizin işinizdir. Sen kod yazabilen bir çift elden daha fazlasısın.
Dan

3
Ancak hemen hemen her şeyin geçerli nedenleri vardır ve birinin sorusuna yanıt vermemek çünkü ONLARIN nedeninin geçerli olduğunu düşünmüyorsunuz. Diyelim ki karmaşık cevaplarla uygulamaya çalıştığınız bir testiniz vardı. Yapıştırmayı devre dışı bırakmak ve öğrenciyi kopyala yapıştırmak yerine tüm cevabı yazmaya zorlamak, cevabı hafızaya almasına neden olurken, sadece bir kopyala yapıştırma muhtemelen değersiz olacaktır. Bunu yapmak için geçerli bir neden var. Birini, yapmaya çalıştıkları şeyin çoğu durumda iyi bir fikir olmadığı konusunda uyarın, ancak bir cevap verin ... ya da en iyisi cevap vermeye zahmet etmemek.
Halfhoot

69

Kopyalama yapıştırma işlevini devre dışı bırakmak istediğiniz girişlere bir 'copycopypaste' sınıfı ekleyin ve bu jQuery betiğini ekleyin

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

1
Benim için iyi çalışıyor tanklar!
Gabriel Glauber

27

Bunu şimdi anladım, şunu kullanarak başarabiliriz onpaste:"return false": http://sumtips.com/2011/11/prevent-copy-cut-paste-text-field.html

Aşağıda listelenen çeşitli diğer seçeneklerimiz mevcuttur.

<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

Yapabilirsin ..... ama yapma.

Bir kullanıcı tarayıcısının varsayılan davranışını değiştirmemelisiniz. Web uygulamanız için gerçekten kötü bir kullanılabilirlik. Ayrıca, bir kullanıcı bu hack'i devre dışı bırakmak isterse, tarayıcısında javascript'i devre dışı bırakabilir.

Bu nitelikleri metin kutusuna eklemeniz yeterli

ondragstart=”return false” onselectstart=”return false

6
soru, yapıştırmayı devre dışı bırakmakla ilgili. bu teknik sadece kopyalamayı zorlaştıracak ve yapıştırmayı hiç etkilemeyecektir.
bendman

10

Çılgın fikir: Kullanıcının kayıt işleminin bir parçası olarak size bir e-posta göndermesini isteyin. Bu, bir mailto bağlantısına tıklamak işe yaramadığında (örneğin, web postası kullanıyorlarsa) açık bir şekilde sakıncalı olurdu, ancak bunu aynı anda yazım hatalarını garanti etmenin ve e-posta adresini doğrulamanın bir yolu olarak görüyorum.

Şöyle olurdu: Formun çoğunu doldururlar, adlarını, şifrelerini ve diğerlerini girerler. Gönder'e bastıklarında, sunucunuza posta göndermek için bir bağlantıya tıklarlar. Diğer bilgilerini zaten kaydetmişsinizdir, bu nedenle mesaj yalnızca bunun hangi hesap için olduğunu belirten bir belirteç içerir.


Ha, bu harika bir fikir.
justinl

7

Kullanıcının iki kez girdiği e-posta adresine, sitenizde bir onay URL'sine bağlantı bulunan bir onay e-postası göndermeye ne dersiniz?

E-postanın alındığını onaylamak için tıklamayan herkes, e-posta adresini yanlış girmiş olabilir.

Mükemmel bir çözüm değil, sadece bazı fikirler.


4
Şu anda bu uygulamaya sahibim. Sorun, kullanıcının, girdiklerini düşündükleri e-posta adreslerini kontrol ettikleri ve bir e-postaları olmadığı için bizim tarafımızdaki bir hata nedeniyle e-postayı almadıklarını düşünmesidir . Ayrıca yeniden kaydolmaya çalıştıklarında, kullandıkları kullanıcı adı artık kullanılamıyor çünkü bu yanlış e-posta adresiyle sıkışmış durumda.
justinl

Tnen, 2 gündür onaylanmamış kullanıcı adlarını her gün temizleyen bir iş akışı / kodu ekleyebilir.
Colin

1
Yorum için teşekkürler. Düşüncelerim, bir web sitesinde bir hesap oluşturmaya çalışsanız ve kullanıcı adınızın alındığını söylese, 2 gün sonra geri dönüp tekrar dener miydiniz? Düşüncelerim büyük olasılıkla değil. Ya aynı gün farklı bir kullanıcı adıyla yeni bir hesap oluşturdunuz ya da siteye nasıl kaydolacağınızı bilemediğiniz ve sitenin "çok karmaşık" olduğu için siteye geri gelmekten rahatsız olmadınız.
justinl

8
Colin'in söylediklerine devam etmek için, birisinin aynı kullanıcı adı ve farklı bir e-posta adresiyle yeniden kaydolmaya çalıştığını ve onay mesajına yanıt vermediğini varsayabilirsiniz. İnsanların alan adlarını e-postalarında doğru olarak aldıklarını ancak kullanıcı adlarını yanlış yazdığını ve birisinin ne zaman bir hata yaptığını daha fazla belirlemek için bunu kullanabilir misiniz?
Richard Lucas

1
Henüz hesap bilgilerini onaylamamış kullanıcıların yeniden kaydolmalarına izin verme fikrini gerçekten seviyorum. Bu tasarım çözümünün, önerilen orijinal teknik çözümümden daha iyi olduğunu düşünüyorum. Daha iyi bir çözüm bulmak için duymam gereken şeyin bu varsayılan tarayıcı işlevini değiştirmenin kötü bir fikir olduğunu herkesten duymak.
justinl

7

Jquery kullanabilirsiniz

HTML dosyası

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

jquery kodu

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

6

@Boycs yanıtını genişletmek için "on" kullanmanızı da tavsiye ederim.

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

Komut dosyasını dinamik olarak eklenen form öğelerine uygulamayı planlıyorsanız bu yöntem kullanışlıdır.
Matthew

3

2 e-posta alanı kullanmanız gerekiyorsa ve kullanıcının aynı yanlış yazılmış e-postayı 1. alandan 2. alana yapıştırmasından endişe duyuyorsanız, kullanıcı ikinci e-posta alanına bir şey yapıştırırsa bir uyarı (veya daha ince bir şey) göster derim.

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

bu şekilde yapıştırmayı devre dışı bırakmazsanız, onlara muhtemelen ilk alana yazdıklarını ve ardından ikinci alana yapıştırdıklarını kontrol etmeleri için dostça bir hatırlatma verirsiniz.

ancak, belki de tek gereken, otomatik tamamlamanın açık olduğu tek bir e-posta alanıdır. Bir noktada başka bir sitede daha önce e-postalarını doğru bir şekilde doldurmuş olabilirler ve tarayıcı alanı bu e-postayla doldurmanızı önerecektir.

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

2

Ctrl + V tuşlarına basılıp basılmadığını algılamak için giriş kutusuna bir "tuş basma" dinleyicisi ekleyebilir ve öyleyse, olayı durdurabilir veya giriş kutusunun değerini '' olarak ayarlayabilirsiniz.

Yine de bu, tarayıcının Düzen menüsünden sağ tıklayıp yapıştırma veya yapıştırma işlemini gerçekleştirmez. Keydown dinleyicisine bir "son uzunluk" sayacı eklemeniz ve son tuş vuruşundan bu yana artıp artmadığını görmek için alanın geçerli uzunluğunu kontrol etmek için bir aralık kullanmanız gerekebilir.

Yine de tavsiye edilmez. Yapıştırmanın devre dışı bırakıldığı form alanları son derece sinir bozucu. E-postamı ilk seferde doğru yazabiliyorum, bu yüzden ikinci kutuya yapıştırma hakkımı saklı tutuyorum.


Sağ tıklama veya hatta Apple, Unix veya ctrl-in'lerden herhangi bir şey ve iPhone'lara ne dersiniz?
Martlark

Ayrıca, kendimi sinir bozucu bulduğum için giriş alanını devre dışı bırakmanın büyük bir hayranı değilim. Ancak bu tür bir kullanıcı hatasını durdurmak için diğer seçenekler nelerdir? Veya hangi çözüm en az hatalı olarak tamamlanmış kullanıcı kaydı ile sonuçlanır? Bir e-posta adresini manuel olarak tekrar yazmak zorunda kalmak biraz can sıkıcı görünüyor, ancak hayal kırıklığına uğramış potansiyel müşterileri kurtaracaksa, kullanıcıları bir giriş alanına manuel olarak bir şeyler yazmaya zorlamayı tercih ederim. Bunun büyük bir rahatsızlık olmadığını ve birisini basit bir hatadan kurtarabileceği hayal kırıklığının miktarı bundan etkilenebilir. Düşünceler?
justinl

2

Kayıt sürecinize ikinci bir adım ekleyin. İlk sayfa her zamanki gibi, ancak yeniden yüklendiğinde, ikinci bir sayfa göster ve e-postayı tekrar sor. Bu kadar önemliyse, kullanıcı bunu halledebilir.


1

itibaren

Bazıları, fareyi veya Ctrl + C / Ctrl + V tuş kombinasyonlarını sağ tıklama ve ardından işlemi durdurma gibi kullanıcıların eylemlerini yakalamak için Javascript kullanılmasını önerebilir. Ancak bu açıkça en iyi veya en basit çözüm değildir. Çözüm, Javascript kullanarak bazı olay yakalama ile birlikte giriş alanı özelliklerine entegre edilmiştir.

Tarayıcının otomatik tamamlamasını devre dışı bırakmak için, özelliği giriş alanına eklemeniz yeterlidir. Bunun gibi bir şeye benzemeli:

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

Ve bu alan için Kopyala ve Yapıştır'ı reddetmek istiyorsanız, çağrıları oncopy, onpaste ve oncut yakalayan Javascript olayını ekleyin ve aşağıdaki gibi bunların false döndürmesini sağlayın:

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

Bir sonraki adım, onselectstart'ı kullanarak giriş alanının içerik seçimini kullanıcıdan reddetmek, ancak uyarılmaktır: bu yalnızca Internet Explorer için çalışır. Yukarıdakilerin geri kalanı tüm büyük tarayıcılarda harika çalışıyor: Internet Explorer, Mozilla Firefox, Apple Safari (en azından Windows işletim sisteminde) ve Google Chrome.


Bu teorik olarak soruya cevap görülebilir fakat tercih edildiğini burada cevabın temel parçalarını kapsadığı ve başvuru için bağlantı sağlar.
Kev

yaah, bir dahaki sefere ben ilgileneceğim
vaichidrewar

1
Neden şimdi neyin "çok güzel açıklandığını" açıklayarak başlamıyorsunuz, işte bu şekilde oylar ve daha iyi temsilciler alıyorsunuz :)
Kev

Otomatik tamamlamayı kapatmanın (kapatılmasının) gerekçesi ne olabilir? "Kullanıcılarımızdan nefret ediyoruz!" ? Eğer kullanıcının düşmanı olmaya çalışıyorsanız, onlar sizden nefret edecek, ama yine de sonunda kazanacaklar çünkü tarayıcıyı kontrol ediyorlar.
Jan Hertsens

1

Verilen e-postanın ana bilgisayarının MX kaydının geçerliliğini kontrol edin. Bu, @ işaretinin sağındaki hataları ortadan kaldırabilir.

Bunu göndermeden önce bir AJAX çağrısıyla ve / veya form gönderildikten sonra sunucu tarafında yapabilirsiniz.


1

Jquery kullanarak, kopyalayıp yapıştırmayı ve bunu kullanarak kesmeyi önleyebilirsiniz.

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

1

Bu vanilya JS çözümünü kullanıyorum:

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



0

Basit çözüm: kayıt sürecini tersine çevirin: kayıt işleminin sonunda onay istemek yerine, başında onay isteyin! Yani kayıt işlemi, e-posta adresi soran basit bir formla başladı, başka hiçbir şey yoktu. Gönderildikten sonra, gönderilen e-posta adresine özel bir onay sayfasına bağlantı içeren bir e-posta. Kullanıcı o sayfaya gider, ardından kayıt için geri kalan bilgiler (kullanıcı adı, tam adı vb.) İstenir.

Bu basittir, çünkü web sitesinin onaydan önce herhangi bir şey saklamasına bile gerek yoktur, e-posta adresi bir anahtarla şifrelenebilir ve onay sayfası adresinin bir parçası olarak eklenebilir.


0

Http://bookmarkchamp.com için buna benzer bir şey yaptım - orada bir kullanıcının bir HTML alanına bir şey kopyaladığını tespit etmek istedim. Ortaya çıkardığım uygulama, herhangi bir zamanda aniden orada çok fazla metin olup olmadığını görmek için alanı sürekli kontrol etmekti.

Başka bir deyişle: bir milisaniye önce hiç metin yoksa ve şimdi 5'ten fazla karakter varsa ... o zaman kullanıcı muhtemelen alana bir şey yapıştırmıştır.

Bunun Bookmarkchamp'ta çalıştığını görmek istiyorsanız (kaydolmanız gerekir), URL alanına bir URL yapıştırın (veya oraya bir URL sürükleyip bırakın).


0

Bir e-posta adresini onaylama sorununu çözme yöntemim aşağıdaki gibidir:

  1. Ana işlemden geçmeden önce - örneğin kullanıcıyı kaydettirin - önce ondan e-posta adresini girmesini isteyin.
  2. Benzersiz bir kod oluşturun ve bu e-posta adresine gönderin.
  3. Kullanıcı doğru e-posta adresini girdiyse, kodu alacaktır.
  4. Kaydı tamamlayabilmeleri için kullanıcı, e-posta adresiyle birlikte bu kodu ve diğer gerekli bilgileri girmelidir. - Bu sefer yanlış bir e-posta adresi (veya yanlış bir kod) girerlerse, kodla eşleşmeyeceği için kaydın yapılmayacağını ve kullanıcıya hemen bilgi verileceğini lütfen unutmayın.
  5. E-posta adresi, kod ve diğer kayıt bilgileri doğru girilmişse, kayıt tamamlanmış demektir ve kullanıcı sistemi hemen kullanmaya başlayabilir. - hesaplarını etkinleştirmek için başka herhangi bir e-posta adresine yanıt vermenize gerek yok

Daha iyi güvenlik için, kodun sınırlı bir ömrü olmalı ve kayıt sürecinde yalnızca bir kez kullanılmasına izin verilmelidir. Ayrıca herhangi bir kötü niyetli robot uygulamasının önüne geçmek için ilk adıma captcha veya benzeri bir mekanizma ile eşlik etmek daha iyidir.


0

Kopyala yapıştır seçeneğini jQuery ile aşağıdaki komut dosyasıyla devre dışı bırakabilirsiniz. jQuery ("girdi"). attr ("onpaste", "return false;");

aşağıdaki muhalefeti kullanarakgiriş alanlarına özniteliğini .

onpaste = "yanlış dönüş;"


-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>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.