cracker tracker professional hab ich selbst mal installiert, obs wirklich hilft? keine ahnung...
Beiträge von micha75
-
-
erst mal danke für eure beiträge,
@phpfan, hier die ausgabe:
CodeArray ( [sid] => 1a3e71e26afdd3c7d76295e06cc5ec64 [1] => on [url] => Array ( [1] => programm_1.exe [2] => programm_2.exe [3] => programm_3.exe [4] => programm_4.exe ) [count] => Array ( [1] => 0 [2] => 0 [3] => 0 [4] => 0 ) [Send] => Edit )
hier noch mal der komplette input code der edit liste:
Codeecho "<tr><td class=\"row1\" align=\"center\"><input type=\"checkbox\" size=\"10\" name=\"$id\" title=\"Click To Edit Or Delete ID: $id\"></td><td class=\"row1\" align=\"center\">$line[0]</td><td class=\"row1\" align=\"center\"><input type=\"text\" size=\"60\" name=\"url[$id]\" value=\"$line[1]\"></td><td class=\"row1\" align=\"center\"><input type=\"text\" size=\"6\" name=\"count[$id]\" value=\"$line[2]\"></td>\n";
@rmb, klar wurde sie gesetzt.
-
ich denke, dass die variable aus dem input feld nicht erkannt wird, dass mit den leerzeichen wird wo anders geprüft. ich möchte halt nur wissen, wie ich url[$id] mittels $_POST wie oben angegeben überprüfen kann.
-
-
Teste das mal:
Im Head:
Code
Alles anzeigen<script type="text/javascript" language="JavaScript"> <!-- Begin function LadeInfo() { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById('hidepage').style.visibility = 'hidden'; } else { if (document.layers) { // Netscape 4 document.hidepage.visibility = 'hidden'; } else { // IE 4 document.all.hidepage.style.visibility = 'hidden'; } } } // End --> </script>
Der Body:
Code
Alles anzeigen<body OnLoad="LadeInfo()"> <div id="hidepage" style="position: absolute; left:0px; top:0px; background-color: #253E6C; layer-background-color: #253E6C; height: 100%; width: 100%;"> <table height="100%" width="100%" align="center"> <tr><td valign="middle" align="center"> Page loading ... Please wait [img]loading01.gif[/img] </td></tr></table> </div> Hier den Inhalt der Startseite mit allen Bildern usw. Der Inhalt wird erst angezeigt, wenn alle Bilder geladen sind. </body>
Hier noch die Grafik: [Blockierte Grafik: http://www.web-toolbox.net/webtoolbox/images/loading01.gif]
-
Hi d4f,
Jaaaaaaaaaaaaaaaaa!
Es Funktioniert, vielen Dank für deine Mühe, habe es nun so gemacht:
Code
Alles anzeigeninclude("session.inc.php"); $id = isset($_GET["id"]) ? $_GET["id"] : ""; if(!is_numeric($id) || $id>100) die("Hacking attempt!"); $dbfile = "data.txt"; $basedir = "/srv/www/htdocs/web/files/"; $dat = fopen($dbfile, "r"); $found = false; while(!feof($dat)) { $line = fgets($dat); $line = explode("|", $line); if($line[0] == $id) $found = true; } if(!$found) die("ID: [i]$id[/i] not used!"); fclose($dat); $dat = fopen($dbfile, "r"); while($line = fgetcsv($dat, 1000, "|")) { if($line[0] == $id) { $switch = $line[1]; $digit = $line[2]; $digit++; } else { $erg[] = "$line[0]|$line[1]|$line[2]\n"; } } fclose($dat); $dat = fopen($dbfile, "w"); fputs($dat, "$id|$switch|$digit\n"); $count = 0; while($erg[$count] != "") { fputs($dat, $erg[$count]); $count++; } fclose($dat); $filename = sprintf("%s/%s", $basedir, $switch); header("Content-Type: application/octet-stream"); $savename = basename($switch); header("Content-Disposition: attachment; filename=\"$savename\""); readfile($filename);
Ein paar Fragen habe ich aber noch, muß denn 3-Mal fopen() in dem Script vorkommen? Oder lässt es sich mit einem fopen() und fclose() bewerkstelligen.
Und warum zuvor die Datei im Read Modus öffnen? Denn eigentlich sollte ja nur geschrieben werden (Downloads).
Warum kommt diese Meldung: "Notice: Undefined offset: 2" wenn das Script im Debug Modus läuft?
Codezeile, die die Meldung verursacht:
-
Hi d4f,
In der data.txt steht:
Rufe ich eine ID 4 auf, wird eine neue Zeile in data.txt geschrieben:
Es soll aber keine neue Zeile geschrieben werden, sonderen vorher geprüft werden, ob diese ID in der data.txt vor kommt, wenn nicht? Dann Fehlermeldung wie bei:
Ich möchte nicht immer diese Zeile neu anpassen, wenn ich einen download hinzufüge.
P.S. Das Script sollte ohne diese
Zeile die ID prüfen.
-
Zitat von d4f
micha75: Sicherheit hat es, bei Funktionalitaet kann ich ebenfalls auf den ersten Blick keine Maengel feststellen.
MfG
DanielDanke für dein Bemühen, aber schau dir bitte noch einmal meinen Beitrag an: Klich Mich
MfG Micha
-
-
hi d4f,
hab eigentlich schon ein fertiges Script, was aber auf Sicherheit und Funktionalität überprüft werden kann/sollte.
Vielleicht bist du ja so Nett und kannst mir da weiter Helfen? -
-
Code
Alles anzeigen<? error_reporting(E_ALL); $id = isset($_GET["id"]) ? $_GET["id"] : ""; if (preg_match("/[^0-9]+/",$id)) die("Hacking attempt!"); if ($id <1 || $id>3) die("ID: [i]$id[/i] not used!"); $dbfile = "data.txt"; $basedir = "/srv/www/htdocs/web/files/"; $dat = fopen($dbfile, "r"); while($array = fgetcsv($dat, 1000, "|")) { if($array[0] == $id) { $switch = $array[1]; $digit = $array[2]; $digit++; } else { $erg[] = "$array[0]|$array[1]|$array[2]\n"; } } fclose($dat); $dat = fopen($dbfile, "w"); fputs($dat, "$id|$switch|$digit\n"); $count = 0; while($erg[$count] != "") // Notice: Undefined offset: 2 in /srv/www/htdocs/web/html/download.php on line 30 { fputs($dat, $erg[$count]); $count++; } fclose($dat); // exit script for error_reporting(E_ALL); exit; $filename = sprintf("%s/%s", $basedir, $switch); header("Content-Type: application/octet-stream"); $savename = basename($switch); header("Content-Disposition: attachment; filename=\"$savename\""); readfile($filename); ?>
Habe den debugg Modus aktiviert und im Script ein Kommentar geschrieben. Was kann ich tun, um dieses Script zu Perfektionieren?
Habe dieses Script mehr oder weniger zusammen gestellt, aus verschiedenen Tuts und Script snippets.
Mein Behühen ist, dass dieses Script sicher und Korrekt Funktioniert.
-
Radio Script in Aktion: Klick Mich!
-
Ich hatte mir einmal die Arbeit gemacht ein Radio-Script für meine Community zu schreiben. Denke, dass es der eine oder andere sicher brauchen kann.
Edit: Neue Version kann HIER geladen werden!
-
Hallo GreenRover,
erst mal danke für deine Bemühung, aber ich wollte das die Übergebende ID auch Tatsächlich in data.txt steht. Ist dies nicht der Fall, dann Abbruch mit Fehlermeldung.
So sieht der Auszug aus meinem Script zum einlesen des Counters bis jetzt aus:
Code
Alles anzeigen$id = isset($_GET["id"]) ? $_GET["id"] : ""; if (preg_match("/[^0-9]+/",$id)) die("Hacking attempt!"); if ($id <1 || $id>3) die("ID: [i]$id[/i] not used!"); $dbfile = "data.txt"; $basedir = "/srv/www/htdocs/web/files/"; $dat = fopen($dbfile, "r"); while($array = fgetcsv($dat, 1000, "|")) { if($array[0] == $id) { $switch = $array[1]; $digit = $array[2]; $digit++; } else { $erg[] = "$array[0]|$array[1]|$array[2]\n"; } } fclose($dat);