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

1151

    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. Riikka ei suostu laskemaan bensan hintaa

      Sanna laski esimerkiksi sähkön arvonlisäveron 10 prosenttiin, jonka Riiikka anosti 25,5 prosenttiin. Sannan aikaan bens
      Maailman menoa
      40
      2976
    2. Vain vasemmistohallitus saa minut menemään töihin

      Änkyräkapitalistien sortaessa kansaa en laita rikkaakaan ristiin. Elän mielummin Kelan tuilla, ja jos niitä leikataan, n
      Maailman menoa
      130
      2715
    3. Mitä kirjainta kaipaat?

      Pitkästä aikaa tämmöistä. Onko kirjain muuttunut edellisestä. ☺️
      Ikävä
      185
      2611
    4. EK: Suomi tarvitsee vuosittain 45 000 maahanmuuttajaa

      Senpä takia Riikkakin laulaa sen lauluja kenen leipää syö. Viime vuonnahan Suomeen muutti 50 tuhatta ulkomaalaista. htt
      Maailman menoa
      195
      2275
    5. Oliko se oikeasti epäselvää

      sinulle että olin ihastunut sinuun? (Ymmärrän että siitä on aikaa, eikä voi olettaa että kaikkea muistaisi tai että men
      Ikävä
      125
      1740
    6. Kristityt kastoiva alunperin upottamalla - upotuskaste annettiin vain uskoon tulleille aikuisille

      Raamatussa on käännösvirhe. Kaste tulisi olla upottaa veteen, jota kreikan sana baptizo tarkoittaa. Aluseurakunta kast
      Kaste
      458
      1169
    7. Nyt mä vihaan sua kyllä

      Jos sä oot oikeasti tämä takana! En ois ikinä susta uskonut! 😠☹️
      Ikävä
      85
      959
    8. Muslimiyhteisö jyrähti - Kova vaatimus Orpolle ILtalehti

      Eiköhän se ala olla aika pistää stoppi noille muslimien vaatimuksille Suomessa ? Ei Suomessa ole pakko oll
      Maailman menoa
      173
      867
    9. Mitä tekisit ensimmäiseksi??

      Jos hänet näkisit kahden kesken!!
      Ikävä
      45
      827
    10. Kievarin pöydät

      Minkä helvetin takia kievarissa on laitettu pöytä laulajan taakse. Siellä huutavat nuoret niin että et omaa ääntäsi kuul
      Suomussalmi
      15
      782
    Aihe