Suche
Suche Menü

Mac spezifische Dateien .DS_Store und __MACOSX Ordner aus einer Zip-Datei entfernen

Erhält man von einem Mac-User eine Zip-Datei, enthält diese immer Dateien und Ordner welche unter Windows oder Linux keinen Zweck haben. So gibt es .DS_Store Dateien und einen __MACOSX Ordner. Diese Dateien sind normalerweise versteckt und werden je nach Einstellung angezeigt.

In den Dateien werden von MacOS Informationen zur Datei- und Ordnerstruktur sowie Datei-Icons gespeichert. Diese Dateien werden automatisch angelegt und können nicht wirklich gelöscht werden, da sie als Metadaten vom Betriebssystem unmittelbar danach wieder angelegt werden.

Die nachfolgende Anleitung bezieht sich auf das Entfernen unter Mac OS.

.DS_Store Dateien aus einem Zip-Archiv entfernen

Auf dem Mac das «Terminal» öffnen. Danach den folgenden Befehl eingeben.

zip -d /pfad/zur/zip-datei/DATEINAME.zip \*.DS_Store

Mit dem -d werden die angegebenen Dateien entfernt.

__MACOSX Ordner entfernen

Auch diese Ordner können über das Terminal in der Zip-Datei bereinigt werden

zip -d /pfad/zur/zip-datei/DATEINAME.zip "__MACOSX*" 

Beide Befehle kombinieren

Natürlich kann die Bereinigung auch mit einem Durchgang ausgeführt werden:

zip -d /pfad/zur/zip-datei/DATEINAME.zip "__MACOSX*" \*.DS_Store

Excel: Stundensummen korrekt zusammenrechnen

Beim addieren von mehr als 24h in Excel wird die Stundenzahl nicht mehr korrekt dargestellt, da nach 24h die Zeit in Tage und Stunden umgerechnet wird. Mit folgender Einstellung werden die Stunden korrekt dargestellt:

  1. Zellen formatieren
  2. Auf Rubrik «Benutzerdefiniert» klicken und folgenden Wert eingeben:
[hh]:mm

Im Beispiel des Printscreens ist die Stundenzahl einstellig sowie mit einem «h» am Schluss versehen.

Apple Mail – E-Mails können nicht gelöscht werden

In Apple Mail kann es vorkommen, dass ein E-Mail nicht gelöscht werden kann. Es erscheint jeweils die Meldung:

"Die Email "[Betreff]" konnte nicht in das Postfach "[Postfachname]" 
verschoben werden. Das angegebene Objekt wurde im Informationsspeicher 
nicht gefunden"

Das kann in IMAP oder Exchange Mailkonten vorkommen. Meistens passiert dies, wenn das E-Mail auf zwei Geräten gleichzeitig gelöscht wird. So wird das E-Mail z.B. zuerst auf dem Handy gelöscht und danach bevor die Lösung synchronisiert wurde, im Apple Mail gelöscht.

Dann erscheint das E-Mail wieder und lässt sich mit oben stehender Meldung nicht mehr löschen. Mit folgender Anleitung kann das E-Mail dennoch gelöscht werden:

  1. E-Mail in ein zweites Postfach verschieben
  2. E-Mail löschen

WordPress Rest-API schützen

Die aktuelle c’t 23.2020 widmet sich den Sicherheitslücken. Eine «Lücke» ist die Rest-API von WordPress. Die WordPress REST API ist eine Schnittstelle, mit der Entwickler von außerhalb der WordPress-Installation selbst auf WordPress zugreifen können. Der Zugriff erfolgt über JavaScript, d.h. es können damit interaktive Webseiten und Apps erstellt werden.

Die Rest-API wird über www.domain.tld/wp-json aufgerufen. Folgend ein paar Beispiele was man da alles abrufen kann:

  • /wp-json/wp/v2/media
  • /wp-json/wp/v2/pages
  • /wp-json/wp/v2/comments
  • /wp-json/wp/v2/users

Dies ist grundsätzlich nicht ein Problem. Allerdings können je nach Konstellation dadurch durchaus Daten ausgelesen werden, welche nicht für fremde Augen bestimmt sind. Nun gibt es verschiedene Plugins oder auch Snippets um die API zu deaktivieren:

add_filter( 'rest_authentication_errors', function( $result ) {   
   if ( ! empty( $result ) ) {
      return $result;
   }
   if ( ! is_user_logged_in() ) {
      return new WP_Error( '401', 'not allowed.', array('status' => 401) );
   }
   return $result;
});

Damit wird der Zugriff auf die IP auf eingeloggte User beschränkt. Nun ist das jedoch ein Problem. Setzt man z.B. das beliebte Plugin Contact Form 7 ein, kann ein Formular nur noch abgesendet werden, wenn der Webseitenbesucher auf der Seite angemeldet ist, da Contact Form 7 die Rest-API nutzt, um das Formular abzusenden.

Eine bessere Umsetzung zur Einschränkung der API ist folgender Ansatz, den ich in StackOverflow gefunden habe:

/*-----------------------------------------------------------------------------------*
/* Secure Rest API - Remove some endpoints for non logged in users * 
/*-----------------------------------------------------------------------------------*

function myplugin_removes_api_endpoints_for_not_logged_in() {
	if ( ! is_user_logged_in() ) {
		// Removes WordPress endpoints:
		remove_action( 'rest_api_init', 'create_initial_rest_routes', 99 );

		// Removes Woocommerce endpoints
		if ( function_exists('WC') )
			remove_action( 'rest_api_init', array( WC()->api, 'register_rest_routes' ), 10 );	
	}
} 
add_action('init', 'myplugin_removes_api_endpoints_for_not_logged_in');

In dieser Umsetzung wird nicht die gesamte API deaktiviert sondern die relevanten Daten von WordPress und Woocommerce entfernt, sofern der Webseitenbesucher nicht eingeloggt ist.

Excel: SUMMEWENNS mit Datumsbereich

Letzhin musste ich im Excel die Summe aller Beträge auf die einzelnen Monate des Jahres aufteilen. Mit der Formel SUMMEWENN können Summen mit einer einzelnen Bedingung z.B. einer Kategorie umgesetzt werden.
Brauchen wir nun die Summe aller Beträge des Monats Januar, kommen wir mit SUMMEWENNS ans Ziel, welche aus mehreren Bedingungen aus einer «Nebenzelle» bestehen kann:

=SUMMEWENNS(B:B;A:A;">=" & DATUM(2020;1;1);A:A;"<=" & DATUM(2020;1;30))

Somit summieren wir alle Werte der Spalte B, deren „Nebenzelle“ in A größer gleich ist als der 1.1.2020 UND kleiner gleich dem 30.1.2020.

Beim kopieren der Formel ins Excel müssen allenfalls die Anführungszeichen in der Formel neu geschrieben werden.

Win10 – Lockscreen deaktivieren

Seit dem Anniversary Update Win10 Redstone lässt sich der Lockscreen nicht mehr so einfach deaktivieren. SemperVideo hat eine Anleitung veröffentlicht, wie dies dennoch einfach zu machen ist.

In der Registry gibt es einen Schlüssel, mit dem der Lockscreen deaktiviert werden kann. Dummerweise wird dieser bei jeder Anmeldung und jeder Sperre wieder aktiviert. Der «Trick» das zu umgehen ist einfach. Wir erstellen eine Aufgabe, welche bei der Anmeldung und der Sperre diesen Schlüssel wieder schreibt.

Das Argument der Aufgabe lautet

add HKLMSOFTWAREMicrosoftWindowsCurrentVersionAuthenticationLogonUISessionData /t REG_DWORD /v AllowLockScreen /d 0 /f

 

Anleitung 

Die Computerverwaltung öffnen. Dies geht am einfachen mit dem Kurzbefehl Windows+X resp. mit einem Klick mit der rechten Maustaste auf das Windows-Icon der Taskleiste. Im Kontextmenü die Computerverwaltung auswählen.

Nun auf die Aufgabenplanung wecheln:

Lockscreen deaktivieren - Bild 1 

Mit der rechten Maustaste auf «Aufgabenplanungsbibliothek» klicken und «Aufgabe erstellen…» wählen.

Lockscreen deaktivieren - Bild 2

Der Aufgabe einen Namen, z.B. «Sperrbildschirm» geben und die Aufgabe «Mit höchsten Privilegien ausführen»

Lockscreen deaktivieren - Bild 3

Einen neuen Trigger erstellen und als Aufgabe «Bei Anmeldung» wählen.

Lockscreen deaktivieren - Bild 4

Einen weiteren Trigger als Aufgabe «bei Arbeitsstationssperre» erstellen.

Lockscreen deaktivieren - Bild 5

Unter «Aktion» eine neue Aktion erstellen. Die Vorgabe «Programm starten» belassen und als Programm «reg.exe» eintragen. Als Argument folgenden Befehl einfügen:

add HKLMSOFTWAREMicrosoftWindowsCurrentVersionAuthenticationLogonUISessionData /t REG_DWORD /v AllowLockScreen /d 0 /f

Danach die Aufgabe speichern. Nun funktioniert diese wie gewünscht und der Sperrbildschirm wird nicht mehr angezeigt. Es kann nun jedesmal direkt das Passwort eingegegen werden.

CMSMS: Passwort in der DB ändern

Es kann mal vorkommen, dass das Passwort des Admins verloren / vergessen geht. Mit dieser Anleitung lässt sich das Passwort direkt im phpMyAdmin neu setzen:

update cms_users set password = (select md5(CONCAT(IFNULL((SELECT sitepref_value FROM cms_siteprefs WHERE sitepref_name = 'sitemask'),''),'NEW_PASSWORD'))) where username = 'USER_NAME'

NEW_PASSWORD = das neue Passwort
USER_NAME = der Benutzer bei welchem das Passwort geändert werden soll.

Hier als Beispiel mit einem definierten Passwort und einem definierten Benutzernamen. –> bitte die jeweiligen Werte anpassen:

update cms_users set password = (select md5(CONCAT(IFNULL((SELECT sitepref_value FROM cms_siteprefs WHERE sitepref_name = 'sitemask'),''),'chang3m3'))) where username = 'cmsmsadmin'

Quelle

Spiegel-Mining – oder wie man Vorratsdatenspeicherung und BigData erklären kann

Am letzten 33C3, der Ende 2016 in Hamburg stattfand, gab es einen sehr interessanten Vortrag über Data-Mining. David Kriesel hatte zwei Jahre lang jeden Artikel von Spiegel Online gespeichert (echte Vorratsdatenspeicherung!), um die Daten dann am Ende zu analysieren und Beziehungen herauszuziehen.

Mit seinem Vortrag „SpiegelMining – Reverse Engineering von Spiegel-Online“ zeigte Kriesel nicht nur, welche Analysen man so generell vornehmen kann, sondern welche Schlüsse man ziehen kann. Eine der beeindruckendsten Analysen lies darauf schliessen, dass es persönliche Beziehungen zwischen einzelnen Redakteuren gibt, waren diese doch immer zu gleichen Zeiten in Urlaub. Den Urlaub schloss Kriesel aus dem Umstand von Veröffentlichungslücken. Ein spannender Schluss, den er zog und der jeden zum Nachdenken bringen soll, der sich beruhigen lässt, weil bei der Vorratsdatenspeicherung schliesslich „nur“ Metadaten gespeichert werde würden.

Ingo Dachwitz fasst bei netzpolitik.org die wichtigsten Punkte des Vortrags zusammen. David Kriesel hat auf seinem Blog auch mehrere Artikel zu seinem Vortrag veröffentlicht. Wenn ihr kaum Zeit für die Vorträge des 33C3 einplanen könnt, solltet ihr diesen einen dennoch schauen.