PHP Mail Log – Absendendes Script finden

Wer schonmal ein angegriffenes System hatte, welches zum spammen missbraucht wurde, weiß wie nervig es ist alle Spuren zu entdecken. Die Mail Queue füllt sich, aber man findet nirgends die Quelle.

Seit PHP 5.3 gibt es eine neuen Option die den PhPmailer gesprächig macht.

Durch folgende option in der php.ini kann das loggen von Mails inklsuvie ausführendes Script aktiviert werden.

;PHP.INI /etc/php5/apache2/php.ini bearbeiten
mail.add_x_header = On
mail.log = /var/log/phpmail.log

Apache neustarten und ab jetzt werden alle Mailaktionen geloggt.

/etc/init.d/apache2 restart

Ein Beispiel Eintrag sieht dann so aus – gleich am Anfang steht nun das absendende Script. 

mail() on [/var/www/schnipsellager.de/wp-includes/class-phpmailer.php:652]: To: XXX@xxx:COM — Headers: Date: Sun, 23 Aug 2015 17:36:26 +0000 From: WordPress <wordpress@schnipsellager.de> Message-ID: <fafa1faa791bcdfe17fc4933610231c1@schnipsellager.de> X-Priority: 3 X-Mailer: PHPMailer 5.2.10 (https://github.com/PHPMailer/PHPMailer/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit

WordPress: Kategorien aus der Suche ausschließen

Die WordPress Suche durchsucht von Haus aus, alle Posts und Seiten. Möchtest du aber eine bestimmte Kategorie von der Suche ausschließen, so ist dies problemlos mit einem kurzen Schnipsel möglich.

Die IDs der jeweiligen Kategorie bekommt ihr im Admin beim Editieren raus. Wählt eine Kategorie zum bearbeiten aus und schaut anschließend in die Browserleiste. Dort solltet ihr etwas sehen wie blablabl&TAG_id=3.
Habt ihr die IDs der Kategorien die ihr ausschließen wollt, öffnet die functions.php eures Themes und fügt folgenden Code ein (natürlich Kategorie IDs ersetzen):

function sl_filtercats($query) {
  if ( $query-&gt;is_search) {
    $query-&gt;set('cat','-3'); 
  }
  return $query; 
}
add_filter('pre_get_posts','sl_filtercats');

WordPress: Login Dauer erhöhen – 1 Jahr eingeloggt bleiben

Wer einen gut gesicherten PC hat der nicht viel unterwegs ist, kann auch gern den Luxus genießen sich nicht ständig in seinen Admin neu einloggen zu müssen. Mit folgendem Schnipsel könnt ihr die Cookie Laufzeit vom Login Cookie auf 1 Jahr hochsetzen.

Einfach folgenden Code in die functions.php eures Themes.
 

add_filter( 'auth_cookie_expiration', 'sl_login_duration' );
function sl_login_duration($expire) {
  return 31556926; // 1 Jahr in Sekunden
}

WordPress: Login Logo und Url ändern

sl-loginVor allem bei Kundenprojekten ist es schön, wenn man den Login von WordPress anpasst.

Statt dem Standard WordPress Logo und der Verlinkung zu WordPress.org kann man schnell und einfach seine eigenen Inhalte nutzen. Die CI wirds danken.

Die Umsetzung ist denkbar einfach, nur den kurzen Schnipsel in die functions.php eures Themes und ihr genießt einen neuen Login.

// Css für .logo h1 a wird überschrieben. 
// Breite auf 300px gesetzt, Hintergrundbild verändert und als Background-size Contain verwendet. 
   function sl_login_logo() {
    echo '&lt;style type="text/css"&gt;.login h1 a { background-image:url("https://schnipsellager.de/wp-content/uploads/2015/08/sl-login-logo.png") !important; width: 300px; background-size: contain; } &lt;/style&gt;';
   }
   add_action('login_head', 'sl_login_logo');

   // Login Url wird auf die Blogurl geändert. (Original: WordPress.org)
   function change_wp_login_url() {
   echo bloginfo('url'); 
   }
   // Der Titel des Hrefs wird angepasst. 
   //Nun steht euer Blogname Statt WordPress. org
   function change_wp_login_title() {
    echo get_option('blogname'); 
   }
   
   add_filter('login_headerurl', 'change_wp_login_url');
   add_filter('login_headertitle', 'change_wp_login_title');

[WordPress] Shortcodes in Widgets nutzen

Standardmäßig sind die praktischen Shortcodes in den Sidebar Widgets nicht ausführbar. Sehr schade, denn die kleinen Code schnipsel ermöglichen doch allerhand tolle Spierelerein. So können allerhand Plugins durch die Codes Inhalte ausgeben und lassen sich so perfekt positionieren.

Die Abhilfe:

Die Lösung ist denkbar einfach, denn die Macher von WP haben alles dafür vorbereitet, dass die Shortcodes eben auch in den Widgets ausführbar sind.

add_filter('widget_text', 'do_shortcode');

Einfach diese Zeile in die functions.php eures Themes kopieren und der Shortcode kann ich ein normales „Text Widget“ eingefügt werden.