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

Responsive Webdesign

Einstieg in Responsive Webdesign und Grids ...

admin

Autor : admin
Category: Other tutorials

Basics of views in MySQL

Views in a MySQL database offer the option of creating a virtual table based on the result of an SQL query. This virtual table can be queried like a normal table without changing the underlying data. ...

admin

Autor : admin
Category: mySQL-Tutorials

Counter auf MySQL Basis

Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden. ...

Lukas Beck

Autor : Lukas Beck
Category: PHP-Tutorials

Tutorials zu Facebook Anwendungen mit PHP

In mehreren Tutorials wird der Zugriff auf Facebook Daten mittels Graph API, FQL und REST API erklärt. Alle Codebeispiele liegen zum Ausprobieren in einem SVN, bzw. github Repository bereit. ...

abouttheweb

Autor : abouttheweb
Category: PHP-Tutorials

Spielereien mit Zeit und Datum

Das Rechnen mit Datum und Zeit ist nur selten unproblematisch, PHP stellt uns dafür zahlreiche Funktionen zur Verfügung. Wir wollen uns im folgenden ein paar davon ansehen und an Beispielen erproben. ...

Stephane

Autor : Stephane
Category: PHP-Tutorials

PHP cURL Tutorial: Using cURL to Make HTTP Requests

cURL is a powerful PHP extension that allows you to communicate with different servers using various protocols, including HTTP, HTTPS, FTP, and more. ...

TheMax

Autor : TheMax
Category: 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
Category: PHP-Tutorials

Joomla! Starterhilfe

Dieses Tutorial begleitet Sie bei dem Einstieg in die Welt von dem CMS Joomla!. ...

werninator

Autor : werninator
Category: mySQL-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