function str_replace (search, replace, subject) {
var result = "";
var oldi = 0;
for (i = subject.indexOf (search); i > -1; i = subject.indexOf (search, i)) {
result += subject.substring (oldi, i);
result += replace; i += search.length; oldi = i;
}
return result + subject.substring (oldi, subject.length);
}
viel besser
function str_replace(search, replace, subject) {
return subject.split(search).join(replace);
}
Ich habe beim aufräumen meine alten Notizen zum einbinden eines WLAN-Sticks unter Linux wiedergefunden. Dabei war das Problem damals das keinerlei Linuxtreiber vorhanden waren und der Windowstreiber herhalten musste. Sucht auf der InstallationsCD nach den INF Dateien und versucht sie wie folgt mit ndiswrapper zu installieren:
ndiswrapper -i ts154usb.inf
ist dies gelungen so muss ndiswrapper noch in den Kernel nachgeladen werden:
und
dann sollte bei iwconfig ein neuer Eintrag auftauchen.
Möchte man nach einiger Zeit allte Emails löschen kann man ein cronjob mit folgenden Befehl einrichten:
find /var/spool/mail -type f -mtime +30 -exec rm {} \;
In diesem Fall werden die Emails nach 30 Tagen gelöscht.
Dieser Fehler kommt wenn versucht wurde etwas durch Null zu teilen 
Abhilfe: An der angegeben Position schauen, durch was geteilt wird und evnt. die Rechnung debuggen.
Soll von einem PHP ein header() gesetzt werden, darf vorher noch kein Text ausgegeben werden. Dies ist der Tatsache geschuldet, das alle Header (wie u.a. die Statusheader) noch vor der übergabe von HTML-Code übertragen werden müssen, damit der Browser weiß was phase ist. Wie kommt es nun der Fehler zustande? Wenn man sich die Ausgabe ansieht und dort zusätzlich zu der Fehlerausgabe noch andern Text vor der Fehlermeldung sieht so muss dieser dieser dafür verantwortlich. Steht in der Ausgabe offensichtlich nur die Fehlermeldung so wurde ein/oder mehrere Leerzeichen ausgegeben. Seit ihr euch sicher kein Leerzeichen ausgegeben zu haben so schaut mal ob der <?php Tag auch auf Postion 0/0 steht. Denn selbst ein sonst nicht störendes Leerzeichen vor dem PHP Starttag ruft diesen Fehler hervor. Required und Include Dateien nicht vergessen zu kontrollieren.
In der Datei “/etc/mysql/my.cnf” die Anbindung an den localhost entfernen in dem der Eintag “bind = 127.0.0.1″ auskommentiert oder gelöscht wird. Zusätlich muss für den Mysqluser der verwendet werden soll, der externe Zugriff erlaubt sein:
Bei vorhanden User:
mysql -u admin -p`cat /etc/psa/.psa.shadow` mysql
update user set host='%' where user="myuser";
flush privileges;
exit;
Nachtrag: danke für den Komentar, so ist es natürlich sicher!
oder einen neuen Nutzer wie folgt anlegen:
mysql_setpermission -u admin --password `cat /etc/psa/.psa.shadow`
in die /etc/apt/sources.list den folgenden Eintrag hinzufügen:
deb http://autoinstall.plesk.com/debian/PSA_8.2.1 etch all
und dann mit apt-get oder aptitude das Paket “psa” installieren (installiert denn auch Apache etc. automatisch mit)
Wenn man ein Design präsentieren möchte und noch keinen Text hat, oder eine Funktion vorführen will, ist ein Psydotext genau das richtige.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat, duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.
Ein Webserver sendet von Haus aus viele Informationen mit um sich zu identifizieren. Dem normalen Webseiten besucher nützen die Zusatzinformationen recht wenig. Sie werden eigentlich nur für Statistikzwecke verwendet. Eigentlich.. uneigentlich kann ein angreifer so verwundbare Systeme erkennen. So sendet der Server z.B. folgendes: “Apache/1.3.27 (Linux/SuSE) PHP/4.3.1″ Ist nun im Apache oder PHP dieser Version ein Fehler, ist es für den Angreifer einleichtes. Um es potentiellen Angreifern etwas zu erschweren kann man die mitgesanten Informationen etwas beschneiden.
Apache
In der http.conf den Eintrag “ServerToken Prod” editieren/erstellen.
Lighttpd
in der lighttpd.conf den Eintrag server.tag editieren/erstellen.
PHP
Bei PHP lässt sich die Ausgabe nur unterdrücken und leider nicht modifizuiern. Editiere/erstelle dazu in der php.ini den Eintrag expose_php und setze in auf off.
Sonstige
Nicht nur der Webserver “verrät” potentielle Sicherheitslücken, sondern auch die FTP-Software ist gesprächig:
vsFTPD
In der vsftpd.conf den Eintrag ftpd_banner editieren/erstellen.
Der Warnmeldung
Warning: fclose(): supplied argument is not a valid stream resource
tritt nur in zusammenhang mit Dateifunktionen auf wenn noch kein Filepointer exsitiert. Im Klartext: Es wurde noch keine Datei geöffnet aber es werden Funktionen aufgerufen (wie fclose, fget oder fwrite) die eine geöffnete Datei vorraussetzen