Kategorien
Diverses

Google weiß alles – Adsense Werbung wie Online Shop Kauf

Nachdem ich bei kickz eingekauft habe im Online Shop, bekomme ich jetzt nur noch Adsense Bannerwerbung zu sehen mit kickz Werbung wie die diese.Daran hat man sich ja mittlerweile gewöhnt.

Komisch ist nur, dass mein Warenkorb und alle Artikel, die ich mir angeschaut habe in der Werbung enthalten sind.

Alle 3 Artikel in dem Werbebanner habe ich mir angeschaut und in in einer anderen Farbe auch bestellt!

Google weiß eindeutig schon zu viel und beeinflusst uns bei allem, was wir im Netz machen.

 

Kategorien
WordPress

WordPress Text fliesst nicht um Bilder herum

Bei vielen Themes ist das der Fall, wenn man die vergessen hat in die styles.css seines Themes, den entsprechenden Code von der WordPress Seite einzufügen.

Kategorien
CSS jQuery WordPress

Entfernen von leeren HTML paragraph Tags

Der Editor von WordPress generiert leere <p> Tags, die nicht sehr hilfreich sind beim Gestalten.

Eine Lösung via CSS (CSS3 – Kampatibilität :empty):

p:empty
{
    display:none;
}

oder mit besserer Browser Kompatibilität und jQuery:

 <script>
    $("p:empty").hide();
</script>
Kategorien
Android Java

Java Date zu Unix Timestamp Converter

Convert Date to Unix Timestamp (Long).

import java.util.Date;

public class DateHelper {   
    public static Long dateToTimeStamp(Date date) {
        Long millis = date.getTime();
        if(millis > 0)
        {
            return millis/1000;
        }
        else
        {
            return (long) 0;
        }
    }
}
Kategorien
Android Java

Andorid Sicherheit MD5 Hashing Class

Eine einfache Klasse, um MD5 Hashes mit Java zu erstellen.

Anmerkung: MD5 ist nicht mehr sicher, es sollte SHA1 verwendet werden. Wenn kein Weg drum herum führt, immer mit Salt verwenden.

public class Security {
    
    private static final String TAG = Security.class.getSimpleName();

    public static String getMd5Hash(String string) {
        String result = null;
        byte[] defaultBytes = string.getBytes();
        
        MessageDigest algorithm;
        try {
            algorithm = java.security.MessageDigest.getInstance("MD5");
            algorithm.reset();
            algorithm.update(defaultBytes);
            byte messageDigest[] = algorithm.digest();
                    
            StringBuffer hexString = new StringBuffer();
            for (int i=0;i<messageDigest.length;i++) {
                    String hex = Integer.toHexString(0xFF & messageDigest[i]); 
                    if(hex.length()==1)
                    hexString.append('0');
                    hexString.append(hex);
            }
            result = hexString.toString();
        } catch (NoSuchAlgorithmException e) {
            Log.e(TAG, "MD5 not available", e);
        }
        return result;                
    }
}
Kategorien
PHP

PHP XML toArray Funktion SimpleXMLElement

Die einfache Methode

Zum Parsen von XML kann man die folgende Funktion verwenden, die erstaunlich gut funktioniert 🙂 Der Trick ist, die Daten erst nach Json und dann zurück in ein Array zu wandeln

class xmlArray extends SimpleXMLElement {

      public final function toArray ()
     {
         $json = json_encode($this);
         return  json_decode( $json,TRUE );
    }
}
$xml = new SimpleXMLElement ("<?xml ......>");
$array = $xml->toArray();
Kategorien
PHP

PHPUnit Tests Web Interface für Kunden mit VisualPHPUnit

Wenn man seinen Kunden eine einfache Weboberfläche zum Ausführen von PHPUnit Tests bereit stellen will, kann man auf das sehr gute und einfach zu installierende VisualPHPUnit zurückgreifen.

Kategorien
HTML5

Parallax Effekt

Eine faszinierender Effekt, in dem sich ohne Flash nur mit HTML5 der Vordergrund unterschiedlich schnell bewegt im Vergleich zum Mittel- bzw. Hintergrund.

Bsp gefällig? egopop, unit51, stephband

Die Bibliothek zum Erstellen eigener Webseiten gibt es hier. Achtung, es wird zwingend jQuery in einer niedrigen Version (1.2.6) benötigt, es kann also zu Problemen kommen in manchen Fällen.

Kategorien
Apache Webserver WordPress

WordPress Sicherheit: sicheres Login

Die sicherste Methode seinen Block zu schützen vor unerlaubten Login ist die Verwendung einer .htpasswd Authentifizierung.

Die Standard Login Seite von WordPress ist nicht sicher, weil Hacker Programme besitzen, die wahrlos Passwörter ausprobieren. Wenn dann noch der Login Namen bekannt ist, weil bei WordPress der Namen des Authors unter den meisten Blog Posts steht, sollte man Wert auf Sicherheit legen.

Auf jeden Fall sollten die automatischen Fehlermeldungen abgeschaltet werden bei falschen Passwort oder falschem Login, welche gefährliche Hinweise geben. Dafür muss nur in die functions.php folgender Code eingegeben werden:

add_filter( 'login_errors', create_function('$a', "return null;"));

Ich empfehle einen .htpasswd Schutz für das /wp-admin/ – Verzeichnis anzulegen.

Die .htaccess Datei gehört auch in das Root – Verzeichnis, bspw:

<Files "wp-login.php">
AuthName "backend"
AuthType Basic
AuthUserFile Root-Pfadwordpress/.htpasswd
require valid-user
</Files>

Der notwendige Root-Pfad kann folgender Maßen bestimmt werden:

echo getcwd(); 

In die .passwd kommen Login und passwort in gehachter Form. Am besten den htpasswd Generator dafür benutzen und die Daten vorher notieren.

Die Leserechte sollten auf 0444 gesetzt werden für diese beiden Dateien, damit Sie nicht überschrieben oder gelöscht werden können.

Sinnvoll ist auch die Leserechte für kritische Dateien und alle php-Dateien einzuschränken in der „Haupt“ .htaccess:

<FilesMatch "(\.htaccess|\.htpasswd|wp-config\.php|liesmich\.html|readme\.html)">
  order deny,allow
  deny from all
</FilesMatch>

Dies ist besonders wichtig, um Hacker-Bots abzuwähren, die folgender Maßen vorgehen:

Sie suchen im Netz auf Seiten nach bestimmten WordPress-Seiten und verwendeten unsicheren Plugins, z.B. habe ich solche Anfragen protokoliert, was auf Sicherheitslücken der Plugins hindeutet:

"wp-content/themes/clockstone/readme.txt" 
"wp-content/plugins/complete-gallery-manager/readme.txt"

(Diese Themes bzw. Plugins werden bei nicht benutzt)

Kategorien
JavaScript

Javascript confirm

Mit dem Javascript Confirm-Snippet kann elegant eine Sicherheitsabfrage eingefügt werden z.B. in Backendbereiche, die kritische Optionen ausführen und bevor der User eine Bestätigung der zu ausführenden Aufgabe tätigen muss:

<a href="deleteAll.php" onclick="return confirm('Möchtest Du diese schwerwiegende Option wirklich ausführen?')">Test</a>