03. februar 2008 - 20:10Der er
18 kommentarer og 1 løsning
Tilføje en permanent værdi til array
Hej Eksperter
Jeg har et array hvori jeg gemmer ip-adresser på dem jeg ikke vil have skal kunne se min hjemmeside. Det kan være på grund af spam i gæstebog osv.
Koden ser sådan ud:
$bannedeiper = array("xx.xx.xx.xx");
if (in_array($_SERVER['REMOTE_ADDR'],$bannediper)) { header("Location: ipfejl.php"); }
Hvis jeg vil tilføje en værdi skriver jeg:
$bannedeiper[] = $ip_der_skal_bannes;
$ip_der_skal_bannes er så den pågældende bruger jeg vil nægte adgang. Variablen kan f.eks. oprettes via en formular, hvor jeg indtaster ip'en, det er nu underordnet. (Det har jeg selv ordnet)
Men hvordan får jeg så den til at gemme ip'en i arrayet permanent? Således at jeg kan indtaste en ny ip, og så er den gemt i arrayet sammen med de andre?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
1) du definere arrayet i en PHP fil som du includer de steder hvor du har brug for den. Så kan du nøjes med at opdatere denne ene fil og uploade den hver gang du vil banne nogen.
2) Du opretter en tabel til formålet i din database. Så kan du altid udtrække værdierne derfra for hver besøgende.
Metode 2 belaster databasen for hvert besøg, så den første er nok at foretrække. Den er dog mindre fleksibel da den kræver at du har mulighed for FTP når du vil banne en ny person, mens database metoden kan klares fra en browser.
Du skal dog være heeelt sikker på at det er sådan du vil have det, for du åbner jo for at en hacker-type potentielt kan lægge skadelig PHP kode op i stedet for det formål du havde tiltænkt løsningen til.
Hvis du ellers er intesseret i at forstå, hvad der egentlig sker i den der preg_replace(), kan jeg nævne at jeg har skrevet et par artikler om emnet her på Eksperten:
skulle tilsyneladende lige have trykket accept først :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.