PHP Daten in Datei schreiben

txc

New Member
Hallo,

ich möchte ein kleines PHP Scirpt schreiben welches E-Mail Adressen in /etc/postgrey/whitelist_recipients in der Form emailadresse@sss.de <NEUE ZEILE> nächstemailadresse.

Also zum PHP Script soll das irgendwie so sein:

Code:
if (isset($_GET[mail])) {

  checkmail($_GET[mail]);

  function GetContent($file) 
{
    if(!file_exists($file)) {
        return false;
    } else {
        $content = implode("", file($file));
        return $content;
    }
}
 $datei = GetContent(/etc/postgrey/whitelist_recipients);

//Wenn 
if (substr_count($datei, $_GET[mail]) > 0) {
echo "EMail Adresse schon vorhanden";
}else{
//Irgendwie die E-Mail Adresse hinzufügen
}
}

Meine Frage ist wie macht man dies am effizienten?
Das ganze soll später mal in Confixx mit eingefügt werden (neben den Autoresponder Button in der E-Mail Übersicht).
 
Schau in der PHP-Doku mal nach den Befehlen fopen, fwrite und fclose. Das hast du sogar Beispiele, die es erklären...
 
Ich habe mehrere Rückfragen ...

Hast du schon mal was von "Injections" gehört?
Was macht "checkmail()"?

Wenn es das macht, was es machen soll ... also Injections verhindern, dann halte ich

Code:
if (isset($_GET[mail]) and checkmail($_GET[mail])) {

für eher angebracht.

Ist bei dir "OPEN_BASEDIR" gesetzt? Wenn ja, könnte "fopen()" evtl. fehlschlagen ... was heißt könnte ... wird mit Sicherheit fehlschlagen.

Gute Nacht
Claus
 
Ich habe mehrere Rückfragen ...

Hast du schon mal was von "Injections" gehört?
Was macht "checkmail()"?
Von Injections habe ich schon gehört.
Das addslashes von $_GET[mail] habe ich hier nicht mitreingeschrieben..

checkmail() ist eine Funktion und wenn die E-Mail nicht passt dann grob das Script komplett beendet (mit exit).


Ist bei dir "OPEN_BASEDIR" gesetzt? Wenn ja, könnte "fopen()" evtl. fehlschlagen ... was heißt könnte ... wird mit Sicherheit fehlschlagen.
Da das ganze in Confixx soll sollte dies kein Problem darstellen.
 
Da das ganze in Confixx soll sollte dies kein Problem darstellen.

Das beantwortet meine Frage nicht. Aber dann eben präziser ... Ist bei dir "OPEN_BASEDIR" für den Confixx-Bereich gesetzt?

Danke und Gruß
Claus
 
Back
Top