Heim  >  Artikel  >  Backend-Entwicklung  >  Prinzipien und Anwendungen der PHP-Anti-Shake- und Anti-Duplicate-Submission-Technologie

Prinzipien und Anwendungen der PHP-Anti-Shake- und Anti-Duplicate-Submission-Technologie

WBOY
WBOYOriginal
2023-10-12 12:16:411201Durchsuche

PHP 防抖和防重复提交技术的原理与应用

Prinzip und Anwendung der PHP-Anti-Shake- und Anti-Re-Submission-Technologie

Mit der Entwicklung des Internets klicken Benutzer beim Betrieb von Webseiten häufig häufig oder senden sie erneut, was zu bestimmten Problemen im System führt. Belastungen und Sicherheitsrisiken. Um dieses Problem zu lösen, verwenden Entwickler häufig Anti-Shaking- und Anti-Duplicate-Übermittlungstechniken. In diesem Artikel werden die Prinzipien der Anti-Shake- und Anti-Duplicate-Übermittlungstechnologie in PHP vorgestellt und entsprechende Codebeispiele gegeben.

1. Prinzip und Anwendung der Anti-Shake-Technologie

Die Anti-Shake-Technologie zielt darauf ab, das Problem häufiger Klicks oder Vorgänge durch Benutzer zu lösen und erreicht den Zweck, ungültige Anfragen zu reduzieren, indem sie die Ausführung verzögert oder mehrere Vorgänge zusammenführt. Sein Prinzip basiert hauptsächlich auf der setTimeout-Funktion und dem Abschluss von Javascript.

1.1 Prinzip

Wenn der Benutzer häufig klickt, können wir die Funktion setTimeout verwenden, um die Ausführung der Funktion zu verzögern. Wenn das Ereignis innerhalb der Verzögerungszeit erneut ausgelöst wird, wird der vorherige Timer gelöscht und die Zeitmessung beginnt erneut . Erst wenn der Benutzer für eine bestimmte Zeit den Betrieb einstellt, wird die Ausführungsfunktion tatsächlich ausgelöst.

1.2 Anwendung

In PHP-Projekten kann die Anti-Shake-Technologie über Front-End-JS-Code implementiert werden. Die spezifischen Schritte sind wie folgt:

Schritt 1: Führen Sie eine jQuery-Bibliothek oder eine selbst implementierte JS-Bibliothek in die Seite ein.

Schritt 2: Schreiben Sie die Anti-Shake-Funktion, wie unten gezeigt:

function debounce(func, delay) {
  let timer = null;
  return function() {
    clearTimeout(timer);
    timer = setTimeout(function() {
      func.apply(this, arguments)
    }, delay);
  }
}

Schritt 3: Rufen Sie die Anti-Shake-Funktion auf, wie unten gezeigt:

$('button').click(debounce(function() {
  // 处理点击事件的业务逻辑
}, 1000));

2. Das Prinzip und die Anwendung der Anti-Duplicate-Submission-Technologie

Es wird eine Anti-Duplikat-Übermittlungstechnologie verwendet. Lösen Sie das Problem, dass Benutzer wiederholt Formulare einreichen, hauptsächlich durch die Generierung eindeutiger Identifikationstoken. Das Prinzip kann in zwei Teile unterteilt werden: Das Frontend generiert den Token und das Backend überprüft den Token.

2.1 Front-End generiert Token

Bevor der Benutzer das Formular absendet, generiert das Front-End ein eindeutiges Token und speichert es im SessionStorage oder Cookie. Die Generierung von Token kann über Verschlüsselungsalgorithmen oder Zufallszahlen erfolgen.

function generateToken() {
  var token = ''; 
  // 生成唯一不重复的token的逻辑代码
  return token;
}

Übergeben Sie das Token als Wert des versteckten Felds an das Backend, bevor das Formular gesendet wird.

<form action="submit.php" method="post">
  <input type="hidden" name="token" value="<?php echo generateToken(); ?>">
  <!-- 表单的其他控件 -->
  <input type="submit" value="提交">
</form>

2.2 Backend-Verifizierungstoken

Nachdem das Backend die Formularübermittlung erhalten hat, muss das Token überprüft werden. Wenn die Token-Verifizierung erfolgreich ist, wird die Geschäftslogik des Formulars verarbeitet und das Token aus sessionStorage oder Cookies gelöscht, um wiederholte Übermittlungen zu verhindern.

session_start();
$token = $_POST['token'];

if (isset($_SESSION['token']) && $_SESSION['token'] === $token) {
  // token验证通过
  unset($_SESSION['token']); // 清除token
  // 处理表单提交的业务逻辑
} else {
  // token验证失败,返回错误提示
}

3. Zusammenfassung

Dieser Artikel stellt die Prinzipien und Anwendungen der PHP-Anti-Shake- und Anti-Duplicate-Submission-Technologie vor. Die Anti-Shake-Technologie reduziert das Senden ungültiger Anfragen, indem sie die Ausführung verzögert oder Vorgänge zusammenführt. Die Technologie zur Vermeidung wiederholter Übermittlungen verhindert die wiederholte Übermittlung von Formularen durch die Generierung von Token, um die Genauigkeit und Sicherheit der Daten zu gewährleisten. In der tatsächlichen Entwicklung können wir basierend auf den Projektanforderungen geeignete Technologien für die Anwendung auswählen, um die Systemleistung und das Benutzererlebnis zu verbessern.

Referenzen:

  1. [Anti-Shake-Mechanismus](https://www.jianshu.com/p/76bdffb2a268)
  2. [So verhindern Sie die Formularübermittlung doppelter Daten](https://segmentfault.com/a / 1190000017279731)

Das obige ist der detaillierte Inhalt vonPrinzipien und Anwendungen der PHP-Anti-Shake- und Anti-Duplicate-Submission-Technologie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn