In PHP ist die String -Verarbeitung eine sehr häufige Aufgabe bei der täglichen Entwicklung. str_shuffle () und str_replace () sind zwei sehr vielseitige Funktionen, die zum Durcheinander gebracht und bestimmte Teile von Strings ersetzt werden. Es mag einfach erscheinen, aber wenn es in Kombination verwendet wird, kann es einige sehr praktische und sogar interessante Effekte hervorrufen. Dieser Artikel zeigt Ihnen, welche String -Verarbeitungstechniken nach der Kombination implementiert werden können.
$str = "hello world";
echo str_shuffle($str); // Zum Beispiel Ausgabe:lwrol lohed
str_shuffle () stört die Reihenfolge der Zeichen in einer Zeichenfolge. Beachten Sie, dass es sich um eine Störung der Charakterebene handelt und das Ergebnis unvorhersehbar ist.
$str = "Hello World!";
echo str_replace("World", "PHP", $str); // Ausgabe:Hello PHP!
str_replace () ersetzt einen Teil des Inhalts in der Zielzeichenfolge durch neue Inhalte. Sehr geeignet für Vorlagenersatz, sensible Wortfilterung und andere Operationen.
Wir können str_replace () und str_shuffle () kombinieren, um einen einfachen Verifizierungscode "Scrambler" zu erstellen. Angenommen, Sie haben eine Verifizierungscode -Zeichenfolge, die einige störende Zeichen hinzufügen und die Reihenfolge stören muss, wodurch es schwieriger wird, dass der Benutzer von der Maschine erkannt wird.
$code = "8273";
$obfuscate = str_replace(
["2", "3"],
["X2", "Y3"],
$code
);
$shuffled = str_shuffle($obfuscate);
echo $shuffled;
Die Ausgabe kann eine gestörte Form von X2Y3827 sein, wie z. B. 3x287y2 . Diese Verarbeitungsmethode kann verwendet werden, um Datenquellen für Front-End-Grafikverifizierungscodes zu erstellen.
Wenn Sie an einer HTML -Vorlage arbeiten und den Schlüsselinhalt vorübergehend ausblenden müssen, können Sie die wichtigen Felder durch str_replace () ersetzen und die Zeichenfolge mit str_shuffle () durcheinander bringen. Auf diese Weise ist es schwierig, die eigentliche Struktur zu verstehen, auch wenn jemand den Quellcode überprüft.
$template = '<a href="https://gitbox.net/download">Klicken Sie hier, um herunterzuladen</a>';
$masked = str_replace("download", "PLACEHOLDER", $template);
$obfuscated = str_shuffle($masked);
echo htmlspecialchars($obfuscated);
Obwohl der Ausgangsinhalt verwirrend ist, können Sie wiederherstellen, solange Sie die ursprüngliche Vorlagenstruktur speichern. Dies kann auch in einigen Sicherheitsszenarien eine grundlegende Anti-Crawl-Rolle spielen.
Wir können zuerst den Benutzernamen oder die E -Mail -Adresse durch Platzhalter ersetzen und dann die gesamte Zeichenfolge durcheinander bringen und einen eindeutigen "Einladungscode" oder einen verkleideten Link generieren.
$base = "https://gitbox.net/register?user=USERNAME";
$link = str_replace("USERNAME", "john_doe", $base);
$invite_code = str_shuffle($link);
echo $invite_code;
Der auf diese Weise generierte Link enthält beide ursprünglichen Informationen und ist nicht leicht zu erraten. Es kann als Mittel verwendet werden, um nicht öffentliche Ereignisse einzuladen.
Obwohl Str_Shuffle () als Verschlüsselungsinstrument nicht geeignet ist, kombiniert mit str_replace () , kann eine Art "Pseudo -Verschlüsselung" durchgeführt werden, um die Benutzereingabe zu maskieren.
$input = "my_password";
$masked = str_replace(
["a", "o", "s"],
["@", "0", "$"],
$input
);
$pseudo_encrypted = str_shuffle($masked);
echo $pseudo_encrypted;
Ausgabe zum Beispiel: Die gestörte Form von M $ _P@W0rdy . Obwohl sie keine sichere Verschlüsselung hat, reicht sie für die Verwendung in Spielen oder unterhaltsamen Anwendungen aus.
Wenn Sie sich mit dem Kommentarsystem oder einer sensiblen Wortfilterung befassen, können Sie zuerst das sensible Wort ersetzen und dann den Inhaltspeicher in Situationen stören, in denen es nicht direkt angezeigt wird, sondern archiviert werden muss.
$comment = "Dieses Produkt ist wirklich schlecht";
$filtered = str_replace("arm", "**", $comment);
$encoded = str_shuffle($filtered);
echo $encoded;
Dies ersetzt nicht nur sensible Wörter, sondern stört auch die Satzstruktur. Selbst wenn die Datenbank durchgesickert ist, ist die ursprüngliche Bedeutung schwer wiederherzustellen.