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>

Ratings

There are no comments available yet.

Here you can write a comment


Please enter at least 10 characters.
Loading... Please wait.
* Pflichtangabe

Related topics

Anzeige des letzten Besuchers auf der Website

PHP und MySQL ermöglichen es, mit wenig Aufwand Datum und Uhrzeit des letzten Besuchers auf der Homepage anzeigen zu lassen. ...

Lukas Beck

Autor : Lukas Beck
Category: PHP-Tutorials

Migration einer PHP 5 App auf PHP 7

Dieses PHP 7 Tutorial zeigt dir, wie du dein PHP5 Script auf PHP7 umstellst. ...

admin

Autor : admin
Category: PHP-Tutorials

Werte aus Flash an PHP und JavaScript, und umgekehrt senden

Dieses Tutorial soll euch zeigen, auf welche Weise ihr Werte aus Flash an PHP und JavaScript, und umgekehrt senden könnt. ...

Borlabs

Autor : Borlabs
Category: Other tutorials

Reguläre Ausdrücke

In diesem Tutorial wird erklärt, wie reguläre Ausdrücke aufgebaut sind, was die Metacharaktere (Zeichen mit spezieller Bedeutung) eines Patterns bedeuten, und wie man das ganze in PHP umsetzt. Es werden nur die wichtigsten Teile erklärt, für weiterführend ...

webmaster2@

Autor : webmaster2@
Category: PHP-Tutorials

plotting masters - a professional guide - Teil I

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

EVAMasters

Autor : EVAMasters
Category: PHP-Tutorials

HTML5-Formulare mit jQuery.html5form

Mit dem von Matias Mancini machen Sie aus Ihrem Browser einen HTML5-Kompatiblen Bowser. Mit Einschränkungen aber ... ...

admin

Autor : admin
Category: Other tutorials

Migration einer PHP 5 App auf PHP 7

Dieses PHP 7 Tutorial zeigt dir, wie du dein PHP5 Script auf PHP7 umstellst. ...

admin

Autor : admin
Category: PHP-Tutorials

PHP 7 Virtual Machine

Dieser Artikel zielt darauf ab, einen Überblick über die Zend Virtual Machine, wie es in PHP 7 gefunden wird. ...

admin

Autor : admin
Category: PHP-Tutorials

Publish a tutorial

Share your knowledge with other developers worldwide

Share your knowledge with other developers worldwide

You are a professional in your field and want to share your knowledge, then sign up now and share it with our PHP community

learn more

Publish a tutorial