IP : koodi

kuinkas

Minulla on php-laskuri joka toimii ihan ok. mutta
siinä on yksi ongelma. Pitäisi saada lisättyä
koodin pätkä joka estäisi samaa IP:tä lisäämästä laskuria n. 15 minuutin ajan . Nyt kun kävijä käy alasivuilla ja klikkaa palatakseen pääsivulle niin lukema lisääntyy, minulla on myös sama laskuri alasivuilla jonne sama IP saakin lisätä lukemansa . Neuvoisko joku koodia mikä pitää lisätä tai mistä sen löytäisi .

5

1165

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Koodi-Jere

      Voithan tehdä esim. sellaisen virityksen, joka tallentaa ip:n tiedostoon, joka hävitetään vaikkapa 15 min päästä. Laskuri tarkistaa aina tuosta tiedostosta ip:n ennen kuin kasvattaa varsinaista laskuria.

      Tai sitten teet sessiopohjaisen laskurin. Samalla sessioid:llä ei lisätä kuin kerran laskurin arvoa/sivu. Silloin ei haittaa vaikka kävijä viihtyisi sivuillasi enemmän kuin 15 minuuttia.

      Hyvä tapa opetella koodaamista on tutkia muiden tekemiä juttuja. Esim. ohjemointiputkasta tai mureakuhasta löytyy paljon valmiita kävijälaskureita hyvinkin erilaisilla toteutuksilla. Usein muut käyttäjät ovat vieläpä kommentoineet kyseistä koodia, että mikä siinä mättää ja mikä on hyvää.

      • Anonyymi

        Tai sitten käyttää tietokantaa, kuten MySQL.

        1. Luo tietokantaan taulu, johon tallennetaan IP-osoitteet ja aikaleimat:

        CREATE TABLE visitor_logs (
            id INT AUTO_INCREMENT PRIMARY KEY,
            ip_address VARCHAR(255),
            timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        );

        2. Lisää seurava koodinpätkä laskurin lisäämisen yhteyteen:

        $ip = $_SERVER['REMOTE_ADDR'];

        $mysqli = new mysqli('localhost', 'kayttaja', 'salasana', 'tietokanta');
        if ($mysqli->connect_error) {
            die('Connection failed: ' . $mysqli->connect_error);
        }

        // Tarkista onko sama IP-osoite lisännyt laskuria viimeisen 15 minuutin aikana
        $query = "SELECT * FROM visitor_logs WHERE ip_address = '$ip' AND timestamp >= DATE_SUB(NOW(), INTERVAL 15 MINUTE)";
        $result = $mysqli->query($query);

        if ($result->num_rows == 0) {
            // Lisää laskuri vain jos samaa IP-osoitetta ei löydy tietokannasta
            $query = "INSERT INTO visitor_logs (ip_address) VALUES ('$ip')";
            $mysqli->query($query);

            // Lisää laskurin lisäyskoodi tähän
        } else {
            echo 'Et voi lisätä laskuria niin usein.';
        }

        $mysqli->close();


    • Anonyymi

      Kysy chatgpt:ltä sen kanssa itse koodaan nykyään.

    • Anonyymi

      Kuka hölmö täällä vastailee johonkin 16 vuotta vanhaan ketjuun? Koittakaa nyt tajuta että tuossa ajassa kehitys on kehittynyt niin paljon, ettei näitä vanhoja ketjuja enää kannata kaivella.

      • Anonyymi

        Protokollat eivät ole sinällään muuttuneet vaikka päällä oleva html hiukan eriltä näyttääkin - tai oikeastaan ei sekään ole muuttunut vaan siihen on tullut lisää ominaisuuksia. Mikset tekisi cookie:ta, joka expiroi 15 minuutin päästä? Jos cookie löytyy äänestää ei pysty. Jos tulkitset hommaa pelkästään IP:n perusteella huomaat yhtäkkiä, että siellä on 16000 käyttäjän ryhmä, jolla kaikilla on sama ip..


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Henkirikos kiuruvedellä

      Poliisi tutkii maaliskuussa tapahtunutta 50 luvulla syntyneen kuolemaa henkirikoksena. Missä päin tälläinen sattunut
      Kiuruvesi
      151
      4489
    2. Ketkä haukkuu suomalaisten ÄO:tä?

      Siinä on kaksi vaihtoehtoa, joko siis rutiköyhä vajaaälyinen vasuri tai venäläinen. Kyllähän täällä käy suomenvenäläisi
      Maailman menoa
      198
      3959
    3. Diesel-ammattilainen kehuu Sanna Marinia

      "Sanna Marinin (sd) hallitus loi neljä vuotta sitten väliaikaisen polttoaine­tuki­järjestelmän, kun energianhinnat nousi
      Maailman menoa
      34
      2689
    4. Pitkänperjantain kunniaksi tekoälyn analyysi Riikka Purran kirjoituksesta

      🧠 Mitä se kertoo "riikka"-nimimerkin lähijunassa tapahtuneesta? 1. Asenteellinen ja epäasiallinen sävy: Kirjoitus purs
      Maailman menoa
      10
      2462
    5. 100 prosentin perintövero korjaisi myös Hitas-ongelman

      Moni ei uskalla kieltäytyä perinnöstä maineen menettämisen uhalla, joten sitten tulee näitä tilanteita, joissa joutuu es
      Maailman menoa
      34
      2209
    6. Riikan antisakset leikkaavat bensan hintaa ylöspäin

      Sannan aikoina bensaa sai 1,3 euron litrahinnalla ja Riikka leikkasi sen euron ylemmäksi reiluun 2 euroon. Joko on saks
      Maailman menoa
      5
      1790
    7. Läpäiseekö Martina Aitolehti Erikoisjoukot - kyllä vai ei?

      Martina Aitolehti on pärjännyt mainiosti Erikoisjoukoissa. Yrittäjä on mielipiteiltään napakka ja hän sivaltaakin koulut
      Kotimaiset julkkisjuorut
      113
      1558
    8. Olen aika varma

      että meidän tiemme risteäminen oli ainutkertainen tapahtuma elämässäni. En tule koskaan kohtaamaan ketään muuta, joka sa
      Ikävä
      49
      1444
    9. Sukupuolineutraalit liikennemerkit yksi persujen älynväläys

      Samassa rytäkässä kaikki syrjäseutujen bussipysäkkien liikennemerkitkin vaihdettiin, vaikkei bussia ole liikennöinyt enä
      Maailman menoa
      24
      1321
    10. Oletko nähnyt hänet ilman...

      Vaatteita!?
      Ikävä
      34
      1305
    Aihe