Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Exit code generator

Mitglied: kunert0345

kunert0345 (Level 1) - Jetzt verbinden

12.01.2018, aktualisiert 25.01.2018, 1234 Aufrufe, 3 Kommentare, 1 Danke

Beschreibung:
Ein PHP-Script das sich durch den Verzeichnisbaum Eurer Website arbeitet und nach exit Codes die nicht 0 sind sucht.
Sobald es einen exit Code Findet der nicht "exit(0)" ist ändert er die Nummer des exits durch eine Fortlaufende Zahl.

z.B.:
/ordner/index.php
exit(0);
exit (0815);

/ordner/ordner/xyz.php
exit(42);
exit(0);
exit(007);

Die exit codes werden wie folgt vom Script geändert
exit(0) bleibt exit(0)
exit(0815) wird exit(1)
exit(42) wird exit(2)
exit(0) bleibt exit(0)
exit(007) wird exit(3);

backend/exitCodeGenerator.php
01.
<?php
02.
//Dieses Script ist aus mehreren Quellen zusammen geschustert und sollte deaktiviert werden solange man es nicht benötigt wird.
03.

04.
//Deaktivieren mit exit (0);
05.
//exit (0);
06.

07.

08.
if (!isset($_GET['answer'])){
09.
	echo '
10.
<html>
11.
<head>
12.
<title>exitCodeGenerator</title>
13.
</head>
14.
<body>
15.
<div style="
16.
	text-align: center;
17.
	margin-left: auto;
18.
	margin-right: auto;
19.
	margin-top: 10%;
20.
">
21.
	<h1>exitCodeGenerator</h1>
22.
	<p>Läuft durch alle Dateien und nummeriert alle exit(?) die nicht exit(0) sind durch (vergibt exit Nummern)</p>
23.
	<a href="/backend/exitCodeGenerator.php?answer=run">STARTEN</a>
24.
</div>
25.
</body>
26.
</html>
27.
';
28.
	exit (0);
29.
}
30.
if ($_GET['answer'] == 'run') {
31.
	if (ob_get_level() == 0) ob_start();
32.

33.
	$counter = 1;
34.
	function replace_with_count($matches) {
35.
		global $counter;
36.
		$result = "exit ($counter)";
37.
		$counter++;
38.
		return $result;
39.
	}
40.

41.
	echo '<html><head><title>exitCodeGenerator</title></head><body style="background-color: Lavender">';
42.
	//Search for all files that match .* or *
43.
	//Author: mkas at destiny dot lt
44.
	//Website: http://php.net/manual/de/function.glob.php
45.
	$path[] = '*';
46.

47.
	while(count($path) != 0) {
48.
		$v = array_shift($path);
49.
		foreach(glob($v) as $item) {
50.
			if (is_dir($item)) {
51.
				$path[] = $item . '/*';
52.
			} elseif (is_file($item)) {
53.
				//prüfen ob es eine php ist
54.
				if ( substr("$item", -4) == '.php' ) {
55.
					//exitCodeGenerator.php ausschliesen
56.
					if ( !(substr("$item", -21) == 'exitCodeGenerator.php') ) {
57.
						if ($data = file_get_contents("$item")) {
58.
							$replaced = preg_replace_callback('/exit\s*\(\s*\b0*[1-9]+0*+\b\s*\)/im', 'replace_with_count', "$data");
59.
//Datei Schreiben
60.
if (!$datei = fopen($item.'.swap',"w")){
61.
	echo "<p>Konnte \"$item.swap\" nicht erstellen</p>";
62.
	exit (0);
63.
}
64.
if (!fwrite($datei, $replaced)){
65.
	echo "<p>Kann nicht in die Datei \"$item.swap\" schreiben</p>";
66.
	exit (0);
67.
}
68.
	echo "<p>\"$item.swap\" wurde geschrieben</p>";
69.
fclose($datei);
70.

71.
//Original Datei löschen
72.
if (!unlink($item)){
73.
	echo "<p>Kann die Datei \"$item\" nicht löschen</p>";
74.
	exit (0);
75.
}
76.
	echo "<p>Datei \"$item\" wurde gelöscht</p>";
77.

78.
//.swap umbenennen
79.
if (!rename($item.'.swap', $item)){
80.
	echo "<p>Konnte \"$item.swap\" nicht in \"$item\" umbenennen</p>";
81.
	exit (0);
82.
}
83.
	echo "<p>Konnte \"$item.swap\" in \"$item\" umbenennen</p>";
84.

85.
							echo "<h1>$item</h1><xmp style=\"border: 1px solid black; background-color: #ffffff;\">";
86.
							echo $replaced;
87.
							echo "</xmp>";
88.
							ob_flush();
89.
							flush();
90.
						} else {
91.
							echo "<h2>Konnte \"$item\" nicht zum lesen öffnen</h2>";
92.
							exit (0);
93.
						}
94.
					}
95.
				}
96.
			}
97.
		}
98.
	}
99.
	ob_end_flush();
100.
	echo '</body></html>';
101.
}
102.

103.
?>
Mitglied: kunert0345
12.01.2018 um 18:37 Uhr
P.S.: Der Code ist nicht gerade übersichtlich und für meine Verhältnisse ziemlich dreckig
aber so ist es manchmal wenn man nur schnell ein Provisorium bastelt das zu einer hilfreichen Dauerlösung wird.
Außerdem ist es bei mir zu 99.9% des Jahres mit einem exit(0) am Anfang deaktiviert
Bitte warten ..
Mitglied: 135185
12.01.2018, aktualisiert um 21:56 Uhr
Was das jetzt aber bringen soll erschließt sich mir nicht so ganz.
Ganz im Gegenteil, wenn die Scripte Abhängigkeiten untereinander haben, die Exit Codes auswerten und auf bestimmte Codes angewiesen sind, zerstört einem das das ganze Projekt.
Bitte warten ..
Mitglied: BassFishFox
12.01.2018 um 23:01 Uhr
Hallo,

Dieses Script ist aus mehreren Quellen zusammen geschustert und sollte
deaktiviert werden solange man es nicht benötigt wird.

P.S.: Der Code ist nicht gerade übersichtlich und für meine Verhältnisse ziemlich dreckig
aber so ist es manchmal wenn man nur schnell ein Provisorium bastelt das zu einer
hilfreichen Dauerlösung wird.

Wobei sich just in diesem Moment fuer mich die Frage stellt, warum Du diesen "dreckigen" Code ueberhaupt anbietest wo ihn doch eigentlich keiner ausser Dir gebrauchen kann.

Fuer mich sind definierte Exit-Codes nicht gerade unwichtig weil Aufrufe der Folgeseiten/Scripte davon abhaengig sind oder sein koennen.

Egal. Vielleicht gibt es ja jemanden, der Deinen Code verwenden kann.

Danke.

BFF
Bitte warten ..
Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 1 TagHumor (lol)5 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 2 TagenSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 2 TagenWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 2 TagenAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft24 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1017 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...