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, 1026 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 ..
Ähnliche Inhalte
Erkennung und -Abwehr
Code ohne Macros in Word ausführen!
Information von LochkartenstanzerErkennung und -Abwehr1 Kommentar

Wie in beschrieben, bietet Word per DDE die Möglichkeit, fremden Code auch ohne Makros auszuführen. Das sollte bei Sicherheitsmaßnahmen ...

Erkennung und -Abwehr
CSV-Import in Excel mit Code-Injection!
Information von LochkartenstanzerErkennung und -Abwehr3 Kommentare

Nur damit niemand denkt, da kann ja nicht viel passieren. Auch bei CSV-Dateien, sollte man genau hinsehen, wo die ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgbornSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Webbrowser

Chrome blockiert künftig Code von Drittanbieter-Software

Information von windowsboyWebbrowser2 Kommentare

Chrome will ab Juli 2018 Dritt-Anbieter daran hindern, Code in den Browser einzuspeisen. Das gilt hauptsächlich für die Windows ...

Neue Wissensbeiträge
CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 7 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung26 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Windows 10
Unter Windows 10 Home 64Bit (1709) kommt Fehler beim Aufruf von verschiedenen Systemprogrammen wie z.B. Gerätemanager
Frage von bitshopWindows 1017 Kommentare

Hallo, beim meinem Onkel haben wir seit längerem das Problem, dass z.B. beim Aufruf des Gerätemanagers eine Fehlermeldung kommt ...