D
DEDEX7200Pro
Hallo Leute, ich wollte einen Link verschlüsseln, sodass man nicht mehr erkennen kann, auf was verlinkt wird; habe jetzt aber ein Problem:
Die Crypter.php sieht in etwa so aus:
Jetzt zu meinen Problem. Das verschlüsseln und dann das entschlüsseln mit ner einfachen $_GET['link']-php-Datei [-->output.php-Datei] geht ohne Probleme. Jedoch wurde nicht der Link, sondern '\1' verschlüsselt, welcher normalerweise dem Link entsprechen sollte. '\2' ist der Name des links. Wenn ich die Verschlüsselung rausnehme geht es.
PHP:
<?php
function callback($buffer)
{
include ("crypter.php");
$suchmuster = array();
$suchmuster[1] = '/<a href=\"([^>]+?)\">(.+[^>]+?)<\/a>/';
$link = x0rencrypt('\1', $schluessel);
$name = '\2';
$ersetzungen = array();
$ersetzungen[1] = "<a href=\"output.php?link=$link\">$name</a>";
return preg_replace($suchmuster, $ersetzungen, $buffer);
}
ob_start("callback");
$links = "<a href=\"http://www.link.de\">http://www.link.de</a>";
echo $links;
ob_end_flush();
?>
Die Crypter.php sieht in etwa so aus:
PHP:
<?php
function x0rcrypt($baselink, $schluessel) {
if (strlen($schluessel) == 0) {
return;
}
$ergebnis = '';
$i = 0;
while ($i < strlen($baselink)) {
for ($j=0; $j < strlen($schluessel); $j++) {
if ($i >= strlen($baselink)) {
break;
}
$ergebnis .= $baselink{$i} ^ $schluessel{$j};
$i++;
}
}
return($ergebnis);
}
function hex2bin($string) {
return pack('H*', $string);
}
function x0rencrypt($baselink, $schluessel) {
return bin2hex(x0rcrypt($baselink, $schluessel));
}
function x0rdecrypt($baselink, $schluessel) {
return x0rcrypt(hex2bin($baselink), $schluessel);
}
$schluessel = 'geheimesganzlangesultrakompliziertesPasswortdasniemandkenntundauchniemandhackensolltedaesganzganzwichticgfürmeineverschlüsselungistundeinlangerschlüsselderauszahlenundbuchstabenbestehterhöhtdiesicherheitbeimverschlüsselnundhilftmirbeidiversendingen';
?>
Jetzt zu meinen Problem. Das verschlüsseln und dann das entschlüsseln mit ner einfachen $_GET['link']-php-Datei [-->output.php-Datei] geht ohne Probleme. Jedoch wurde nicht der Link, sondern '\1' verschlüsselt, welcher normalerweise dem Link entsprechen sollte. '\2' ist der Name des links. Wenn ich die Verschlüsselung rausnehme geht es.