Verschlüsslung bzw. Codierung von HTML Code in ASCII

HTML Code können wir ebenso gut in ASCII Code umwandeln. Zunächst einmal ein paar Sätze dazu, wozu man ASCII Zeichen benötigt und wozu Ihnen dieses Script dient.

HTML Code können wir ebenso gut in ASCII Code umwandeln. Zunächst einmal ein paar Sätze dazu, wozu man ASCII Zeichen benötigt und wozu Ihnen dieses Script dient.

Jeder kennt das Problem - in manchen Foren wollen Sie eine Internetadresse angeben, diese wird dann entweder gar nicht erst angezeigt, da die Tags "gestript" werden oder die Adresse soll ausgegeben, nicht als Link umgewandelt werden. Beides ist ärgerlich und mühsam zugleich. Hier ist es möglich, die Tags in ASCII zu wandeln.

Doch auch ein weiterer Aspekt sollte heutzutage in Betracht gezogen werden. Massive Probleme bereiten immer mehr die zunehmenden Spamer und damit primär natürlich verbunden die Spam Roboter, die den Müllversand erst ermöglichen. Eine gute Variante bot lange Zeit die Darstellung des @ Zeichens durch einen ASCII Code. Doch immer mehr Roboter gehen dazu über, dieses ja bekannte ASCII Zeichen einfach durch ein @ zu ersetzen und somit ist auch dieser Trick nicht mehr so sicher wie er einst mal war. Bislang ungeschlagen ist natürlich die bildhafte Lösung, die Mail Adresse einfach per Bilddatei darzustellen, leider aber nicht immer und überall möglich und daher meist auf den eigenen Webspace beschränkt.

Ich habe den Test gemacht und über mehrere Monate hinweg drei neu erstellte Mail Accounts auf eine gut besuchte Seite gestellt, eine von diesen ohne jeglichen Schutz, in der zweiten war lediglich das @ Zeichen durch einen ASCII Code ersetzt, die dritte - nun zum Tutorial - war komplett per ASCII Code dargestellt. Das SPAM Ergebnis war erstaunlich - auf die erste erhielt ich nach wenigen Wochen bereits Spam, die zweite blieb weitestgehend verschont, erhielt jedoch unregelmäßige, dennoch wenige unerwünschte Mails, die dritte ist bis heute Spamfrei. Resultat muss also sein, dass bislang wenige Spam Roboter sich die Mühe machen, den gesamten ASCII Code umzuwandeln - zudem kostet dies zusätzliche Rechenleistung.

Beginnen Sie also mit dem Standard HTML Teil, dem Titel und dem Body.

<html>
<head>
<title>Encrypter</title>
</head>
<body>

Ihr Script beginnt mit einem Formular, in dem Sie die Möglichkeit geben, eine URL, Mail oder Standardtext umzuwandeln. Dies ist natürlich beliebig erweiterbar, ändert auch nichts am eigentlichen Umwandlungsprinzip. Sie können das Script in HTML ausgeben, da dieses statisch bleibt. Hauptelement bildet das Formularfeld letters.

<form action="index.php" method="post">
<input type="text" name="letters"> <input type="submit" name="senden">
<br>
<input type="radio" value="standard" name="show"> Standard
<input type="radio" value="url" name="show"> URL
<input type="radio" value="email" name="show"> E-Mail
</form><br><br>

Zunächst wollen Sie ja wissen, wie Sie überhaupt umwandeln. Hierzu gibt es in PHP die hilfreichen Funktionen ord(); und chr(); - jeweils zum Darstellen und Umwandeln von ASCII Zeichen. Damit Sie den für HTML Code brauchbaren Zeichenstring erhalten, müssen Sie etwas tricksen und die Zeichen sowie das Semikolon per ASCII ausgeben, ansonsten erhalten Sie lediglich den puren ASCII Code. Hierzu führen Sie eine Verkettung durch, wie im unteren Script zu sehen ist.


<?
  
echo "&#38;&#35;".ord($letters[$i])."&#59;";
?>

Zunächst müssen Sie wissen, wie lang der eingegebene String ist, Sie testen dies mit der Funktion strlen(); - es kommt eine for() Schleife zum Einsatz und die Umwandlung beginnt mit ord();. Um einen zusammenhängenden String zu erhalten, den Sie später benötigen, füllen Sie ein Array namens encrypt[]; nach und nach mit dem gesamten umgewandelten Code. Um den Text problemlos kopieren zu können, geben Sie die Zeichen in einem Formularfeld Textarea aus.


<?
  
echo "<textarea rows="5" cols="80" style="color:blue">";
  for(
$i=0;$i<strlen($letters);$i++)
  {
  echo 
"&#38;&#35;".ord($letters[$i])."&#59;";
  
$encrypt[] = ord($letters[$i]);
  }
  echo
"</textarea>";
?>

Sie wollen natürlich auch sehen, ob das, was ausgegeben wurde, auch so stimmt. Sicherheitshalber sollten Sie daher den ASCII Code nochmal umwandeln, um zu sehen, was dabei herauskommt. Dazu unterscheiden Sie zunächst nach der getätigten Auswahl E-Mail oder URL. Weiterhin bedienen Sie sich jetzt dem Array encrypt[];, welches Sie zuvor erstellt haben und lassen einfach noch einmal eine Schleife durchlaufen, mit dem Unterschied, dass Sie nun statt der verschlüsselnden Funktion ord(); die entschlüsselnde Funktion chr(); verwenden.


<?
    
echo "<br><br><b>Proof</b><br>";
    if(
$show == "email") echo "<a href="mailto:";
    elseif($show == "
url") echo "<a href="http://";
    if(
$show == "email" || $show == "url")  {for($i=0;$i<=count($encrypt);$i++)  {echo chr($encrypt[$i]); }  echo"">"; }
       for($i=0;$i<=count($encrypt);$i++)  {echo chr($encrypt[$i]); }
    if($show == "
email" || $show == "url") echo "</a>";
?></body>
</html>

Damit wäre das Script auch schon zu Ende.

Kurze Zusatzinformation zum ASCII Code, für diejenigen, die es interessiert: Der American Standard Code for Information Interchange war ursprünglich ein 8 Bit Code, dessen erste 7 Bit zur Darstellung von Buchstaben und Zahlen genutzt wurde. Das 8. Bit diente als Prüfbit. Zugunsten der Darstellung von einigen Sonderzeichen sowie Umlauten fungierte das 8. Bit jedoch schon bald nicht mehr als Prüfbit sondern wurde zur Darstellung weiterer Zeichen benötigt. Gebraucht wird dieser Standard für die Anzeige von E-Mails und HTML Code und anderem.

Hier noch einmal der gesamte Code:


<html>
<head>
<title>Encrypter</title>
</head>
<body>

<form action="index.php" method="post">
<input type="text" name="letters"> <input type="submit" name="senden">
<br>
<input type="radio" value="standard" name="show"> Standard
<input type="radio" value="url" name="show"> URL
<input type="radio" value="email" name="show"> E-Mail
</form><br><br>
<?
echo "<textarea rows="5" cols="80" style="color:blue">";
for(
$i=0;$i<strlen($letters);$i++)
{
    echo 
"&#38;&#35;".ord($letters[$i])."&#59;";
    
$encrypt[] = ord($letters[$i]);
}
echo
"</textarea>";
echo 
"<br><br><b>Proof</b><br>";
    if(
$show == "email") echo "<a href="mailto:";
    elseif($show == "
url") echo "<a href="http://";
    if(
$show == "email" || $show == "url")  {for($i=0;$i<=count($encrypt);$i++)  {echo chr($encrypt[$i]); }  echo"">"; }
       for($i=0;$i<=count($encrypt);$i++)  {echo chr($encrypt[$i]); }
    if($show == "
email" || $show == "url") echo "</a>";
?>
</body>
</html>

Erfahrungen

Es sind noch keine Kommentare vorhanden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

IP-Sperre

IP-Sperre mit PHP und MySQL Oder wie man einen User für eine gewisse Zeit aussperrt. ...

webmaster1@

Autor : webmaster1@
Kategorie: PHP-Tutorials

plotting masters - a professional guide - Teil II

Grafische Interpolation und Bestapproximation von numerischen Wertepaaren: Wir wollen Punkte auf einer Zeichenebene über verschiedene Verfahren miteinander verbinden. ...

EVAMasters

Autor : EVAMasters
Kategorie: PHP-Tutorials

Datenbankinhalt für Suchmaschinen aufbereiten

Sie haben eine Datenbankanwendung geschrieben und keiner weiß, welche Daten bei Ihnen zu finden sind. Suchmaschinen gehen natürlich nicht so weit, daß sie Abfragen an die Datenbank senden. Somit bleibt der Inhalt Ihrer Tabelle für Suchmaschinen unsichtbar ...

Wolfgang13

Autor : Wolfgang13
Kategorie: SEO Tutorials

Objektorientiertes Programmieren

Dieses Tutorial beschreibt sehr gut die Wirkunsweise von objektorientiertes Programmieren. Also bestens geeignet um das objektorientierte Programmieren zu verstehen. ...

phpsven

Autor : phpsven
Kategorie: PHP-Tutorials

PHP-Scripte offline testen unter Windows

Wenn Sie sich schon mit der Erstellung von dynamischen Websiten beschäftigt haben, wissen Sie vielleicht wie umständlich es ist, die Scripte immer auf den Server Ihres Hosters zu laden um diese testen zu können. ...

webmaster116@

Autor : webmaster116@
Kategorie: Linux & Server Tutorials

Apache und Windows/XP

Beschreibung zum einrichten des Apache2 unter Windows 2000/XP ...

info225@

Autor : info225@
Kategorie: Linux & Server Tutorials

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen