Also ich habe mir mal ein wenig über Sicherheit Gedanken gemacht und frage mich ob sowas sinnvoll wäre:
CODE
<?php
// dateiname:secured_file.php
$filename='index.php'; // die datei die "geschützt" werden soll!
if (!file_exists('Secure_'.md5_file($filename).'.php'))
{
if (isset($filename)){
$handle = fOpen('Secure_'.md5_file($filename).'.php' , "w+");
echo '<br>Datei <b>'.'Secure_'.md5_file($filename).'.php'.'</b> wurde erstellt !';
}
if ($handle)
{
foreach (file($filename) AS $zeile){
$checksum[]='"'.md5($zeile).'"';
}
$checkdaten = implode (',',$checksum);
$daten='<?php'."\n";
$daten.='//Erstellt mit:'.$_SERVER['PHP_SELF']."\n";
$daten.='//Datei wurde am:'.date("d.m.Y H:i:s",time()).' erstellt'."\n";
$daten.='$pfad="'.__FILE__.'";'."\n";
$daten.='$md5="'.md5_file($filename).'";'."\n";
$daten.='$checksum=array('.$checkdaten.');'."\n";
$daten.='?>';
if (isset($daten))
{
fwrite($handle, $daten);
}
} }
if ($handle){fclose($handle);}
?>
wie bekomme ich den pfad von $filename='index.php' ?
mit $daten.='$pfad="'.__FILE__.'";'."\n"; bekomme ich ja den pfad von secured_file.php
Da ich aber eine neue Datei erzeuge brauche ich dort ja den pfad von der zu schützenden Datei.
CODE
<?php
//Erstellt mit:/www/@halbesbit/test_01/www/vorlage/blaeterfunktion/secure.php
//Datei wurde am:31.05.2008 06:35:52 erstellt
$pfad="x:\xampp\htdocs\www\@halbesbit\test_01\www\vorlage\blaeterfunktion\secure.php";
$md5="90d64cc2a4611a4f69b7c78b4525258f";
$checksum=array("5735ce35f7fc6e6a44d85f25ff2982b1", "e73032e034f5462068aa414cdc535a10", "6ea92263b615d033bc2eb538ddeeb26d", "28664d2daa53a5900d55747ccc06be0e", "fe6abe360e19ebf0289f7a5fdb15ee90", "f84214fc43f665c79b92dc7a092b364f", "bf34ae30ed1dcd30adc7d8d8caa76446", "3d7dd2535a33ea40a879d12e11c74ddc", "d1cc754295f80302f50f1e85b0f97436", "b04ce4cf255adddc085f8c33264de7eb", "81051bcc2cf1bedf378224b0a93e2877", "81051bcc2cf1bedf378224b0a93e2877", "47864b0945546f2883eb1b9e3d2b72a1", "c5160093f8283a5a0482d4560fc596cf", "caa1f02aa39c0a7222cd74d8793ad853", "796d8aabd542c5357744272a56af3c6c", "a94b41f6c6990f798ca04413e1f2bddc", "df3995adfef69bc118334aef3a6911ad", "9237aa2a8ea2f5d5df5ff57c3d3437c7", "4f22cd9fbccf13251def9a99b9cec9fd", "81051bcc2cf1bedf378224b0a93e2877", "81051bcc2cf1bedf378224b0a93e2877", "521de7040666bfc6f2ac5d54b1b03db1", "10ae47a30af4e94fe9d83784b1096667", "2545a87dfafe2dc71afc2fae0611b809", "df3995adfef69bc118334aef3a6911ad", "45692ae24bfe52b2f378905acc95a1a8", "5b9715fe371a244e1b1b910e77f03f1c", "308065b5078a49f986fc3c9f9b66e5d3");
if (!md5_file($pfad)==$md5){
foreach (file($pfad) AS $zeile){
if (md5($zeile)==$md5){echo 'OK !';
}else{echo 'HACKED !';}
}
}
?>
CODE
<?php
// dateiname:secured_file.php
$filename='index.php'; // die datei die "geschützt" werden soll!
if (!file_exists('Secure_'.md5_file($filename).'.php'))
{
if (isset($filename)){
$handle = fOpen('Secure_'.md5_file($filename).'.php' , "w+");
echo '<br>Datei <b>'.'Secure_'.md5_file($filename).'.php'.'</b> wurde erstellt !';
}
if ($handle)
{
foreach (file($filename) AS $zeile){
$checksum[]='"'.md5($zeile).'"';
}
$checkdaten = implode (',',$checksum);
$daten='<?php'."\n";
$daten.='//Erstellt mit:'.$_SERVER['PHP_SELF']."\n";
$daten.='//Datei wurde am:'.date("d.m.Y H:i:s",time()).' erstellt'."\n";
$daten.='$pfad="'.__FILE__.'";'."\n";
$daten.='$md5="'.md5_file($filename).'";'."\n";
$daten.='$checksum=array('.$checkdaten.');'."\n";
$daten.='?>';
if (isset($daten))
{
fwrite($handle, $daten);
}
} }
if ($handle){fclose($handle);}
?>
wie bekomme ich den pfad von $filename='index.php' ?
mit $daten.='$pfad="'.__FILE__.'";'."\n"; bekomme ich ja den pfad von secured_file.php
Da ich aber eine neue Datei erzeuge brauche ich dort ja den pfad von der zu schützenden Datei.
CODE
<?php
//Erstellt mit:/www/@halbesbit/test_01/www/vorlage/blaeterfunktion/secure.php
//Datei wurde am:31.05.2008 06:35:52 erstellt
$pfad="x:\xampp\htdocs\www\@halbesbit\test_01\www\vorlage\blaeterfunktion\secure.php";
$md5="90d64cc2a4611a4f69b7c78b4525258f";
$checksum=array("5735ce35f7fc6e6a44d85f25ff2982b1", "e73032e034f5462068aa414cdc535a10", "6ea92263b615d033bc2eb538ddeeb26d", "28664d2daa53a5900d55747ccc06be0e", "fe6abe360e19ebf0289f7a5fdb15ee90", "f84214fc43f665c79b92dc7a092b364f", "bf34ae30ed1dcd30adc7d8d8caa76446", "3d7dd2535a33ea40a879d12e11c74ddc", "d1cc754295f80302f50f1e85b0f97436", "b04ce4cf255adddc085f8c33264de7eb", "81051bcc2cf1bedf378224b0a93e2877", "81051bcc2cf1bedf378224b0a93e2877", "47864b0945546f2883eb1b9e3d2b72a1", "c5160093f8283a5a0482d4560fc596cf", "caa1f02aa39c0a7222cd74d8793ad853", "796d8aabd542c5357744272a56af3c6c", "a94b41f6c6990f798ca04413e1f2bddc", "df3995adfef69bc118334aef3a6911ad", "9237aa2a8ea2f5d5df5ff57c3d3437c7", "4f22cd9fbccf13251def9a99b9cec9fd", "81051bcc2cf1bedf378224b0a93e2877", "81051bcc2cf1bedf378224b0a93e2877", "521de7040666bfc6f2ac5d54b1b03db1", "10ae47a30af4e94fe9d83784b1096667", "2545a87dfafe2dc71afc2fae0611b809", "df3995adfef69bc118334aef3a6911ad", "45692ae24bfe52b2f378905acc95a1a8", "5b9715fe371a244e1b1b910e77f03f1c", "308065b5078a49f986fc3c9f9b66e5d3");
if (!md5_file($pfad)==$md5){
foreach (file($pfad) AS $zeile){
if (md5($zeile)==$md5){echo 'OK !';
}else{echo 'HACKED !';}
}
}
?>