PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Tuxicoman : Exploser le compteur de visites de Piwik

vendredi 28 octobre 2016 à 08:39

Je me demandais si c’était possible de tricher facilement sur les compteurs de visites webs tels que GoogleAnalytics ou Piwik.

Le principe est le suivant : si le compteur est un script en Javascript qui tourne entièrement coté utilisateur et envoie des données au serveur, il me suffit d’envoyer à la volée les bonnes requêtes vers le serveur pour augmenter artificiellement le compteur.

Je commence par Piwik car c’est la solution que j’utilise et le code source est ouvert.

Piwik utilise des heuristiques pour détecter si les visites proviennent du même visiteur ou non. Il se base notamment sur la configuration machine envoyée à travers les entêtes HTTP.

Mais je suis tombée sur une fonctionnalité cadeau. Il suffit de passer l’argument « new_visit=1 » pour désactiver ce mécanisme et faire reconnaître chaque nouvelle requête comme provenant d’un nouveau visiteur.

J’ai trouvé ça en lisant le code source de Piwik. L’info est ici et .

Voici donc comment j’ai pu exploser mon compteur avec un script Python en quelques secondes :

capture-decran-de-2016-10-27-230057Si vous êtes gentils, je vous mettrai le script en ligne :-)

Est ce que certains d’entre vous ont déjà essayé de fausser les résultats de GoogleAnalytics ?

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Thuban : Tuto :: Redshift

jeudi 27 octobre 2016 à 23:35

Un nouveau tutoriel pour utiliser l'utilitaire Reshift nommé "Redshift : Rien que pour vos yeux !"

Redshift est un de ces outils qui permettent de régler la température de couleurs de votre écran, selon l'heure de la journée, et votre position géographique, afin de protéger et vos yeux, et votre rythme relatif à vos phases de sommeil.

Vous avez entendu parler sur plusieurs médias qu'il est mauvais de lire sur les interfaces numériques à cause de la fa(ch|m)euse lumière bleue, et que cela avait des impacts négatifs sur votre sommeil ... redshift est là, pour vous aider !

Découvrez comment grâce à ce tutoriel de configuration très simple - "comme d'hab !".


Comme d'habitude, si vous voulez en discuter, venez nous voir sur le forum ... mais pas trop tard, histoire de respecter vos cycles de dodos nécessaires à votre bon équilibre physio-psychologique, hein !

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

Thuban : Progression du livre pour s'héberger

jeudi 27 octobre 2016 à 22:03

Quelle aventure!
Alors je que m'étais fixé un objectif de 100€ pour pouvoir publier mon livre sur l'(auto-)?hébergement, on en est aujourd'hui à 249€.

Bien évidemment, ça motive! J'ai donc continué à peaufiner le livre de ci de là avec notamment une partie sur OpenVPN. J'en suis à l'heure où je vous parle à 191 pages! C'est bien plus que ce que je m'étais imaginé au départ. Alors oui, vous me direz, c'est de la rigolade à côté des cahiers du débutant, et vous aurez raison.

En attendant, je suis à bloc! Si ça continue ainsi je vais peut-être pouvoir diffuser le livre plus largement que prévu (en librairie) tout en assurant les contreparties et faire un cadeau à framasoft et openbsd.

Pour ceux qui hésitent encore, sachez que je vous envoie une copie du livre à partir d'une contribution de 10€, alors qu'il coûtera certainement un peu plus vu le nombre de pages... Il reste 4 jours.

Hop, je recolle le lien ici :

Merci infiniment à tous les contributeurs!

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

Philippe Scoffoni : Le logiciel libre pour TPE : témoignage

jeudi 27 octobre 2016 à 21:41

Quels arguments employer pour défendre l’intérêt de l’usage de logiciels libres pour son activité professionnelle ? Peut-on envisager de se passer de la suite bureautique MSOffice ? Est-ce que les logiciels libres fournissent de services au rabais ?

La liste des questions que se posent les utilisateurs potentiels est assez longue. Quoi de mieux que de demander à quelqu’un qui a franchi le pas de s’expliquer sur les raisons de son choix et de partager son retour d’expérience après une période significative d’usage.

C’est ce que j’ai fait en réalisant une interview en vidéo d’un de mes clients : Guillaume BARD de la société Preventiv. Pour vous en simplifier le visionnage, je l’ai découpé en six parties qui abordent des thématiques différentes.

Dans cet échange, Guillaume présente un avantage indirect des logiciels libres. Il consiste dans le fait que les logiciels libres par leur caractère parfois « générique » et non packagés pour un métier ou un usage précis forcent l’utilisateur à se poser la question de son réel besoin. Les offres bien packagées, bien marketées avec de jolies plaquettes simples et faciles à comprendre ont souvent comme objectif premier de nous inciter à acheter sans nous poser de questions. Une sorte de fast food de l’informatique.

Par opposition, les logiciels libres obligent à se poser la question de ce que l’on veut réellement faire et du comment on veut le faire. Souvent, l’échec d’un projet informatique ou le choix d’une mauvaise solution se situe dans l’absence de réflexion en amont. Une problématique bien difficile à faire comprendre souvent…

Vous découvrirez comment le combo Dolibarr /Owncloud répond parfaitement au besoin d’une société de services et de formation.

Je vous laisse regarder l’interview. Avec mes remerciements au passage pour Laurent d’Eleveur d’images qui a réalisé la captation vidéo.



Réagir à cet article

Article original écrit par Philippe Scoffoni le 27/10/2016. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Gravatar de Philippe Scoffoni
Original post of Philippe Scoffoni.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Envoyer un courriel avec NodeMCU sur l'ESP8266

jeudi 27 octobre 2016 à 09:04

Nous avons précédemment parlé de l'ESP8266 en le propulsant à l'aide de Micropython. Il est églament possible de propulser un ESP8266 à l'aide de NodeMCU, un microframework en lua (attention, c'est trompeur, NodeMCU désigne à la fois un type de matériel et le logiciel qui le propulse).

9865736.png

Pour bâtir la version du firmware NodeMCU adapté à son usage, on peut utiliser ce site internet : https://nodemcu-build.com/

Une fois NodeMCU construit, on l'envoie à l'aide des commandes :

esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=8m 0 /path/to/nodemcu.bin

Voyons maintenant comment utiliser NodeMCU. Nous allons d'abord placer sur l'ESP8266 un fichier "init.lua" qui servira à l'initialisation de l'ESP8266 et notamment à sa connexion au WIfi local :

function startup()
    if file.open("init.lua") == nil then
      print("init.lua deleted")
    else
      print("Running")
      file.close("init.lua")
      print("Running main.lua")
      dofile("main.lua")
    end
end

--init.lua
wifi.sta.disconnect()
print("Set up wifi mode")
wifi.setmode(wifi.STATION) --on active la connexion à un point d'accès
wifi.sta.config("ssid","password",0) --SSID et mot de passe du point d'accès
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
    if wifi.sta.getip()== nil then
        print("IP unavailable, Waiting...")
    else
        tmr.stop(1)
        print("Config done, IP is "..wifi.sta.getip()) --si réussite, alors on affiche les infos du réseau
        print("You have 5 seconds to abort Startup")
        print("Waiting...")
        tmr.alarm(0,5000,0,startup)
    end
 end)

Le code est assez facile à lire. Une fois les instructions de init.lua terminées, on lance le fichier main.lua. Il est alors possible de faire exécuter les actions de son choix à l'ESP8266.

Imaginons que l'on souhaite faire envoyer des courriels de notification par l'ESP8266 : on utiliserait alors le code suivant dans main.lua. Comme la librairie crypto est utilisée, il faut bien évidemment construire NodeMCU avec cette librairie.

require("crypto")

-- The email and password from the account you want to send emails from
local LOGIN = "login"
local MY_EMAIL = "name@domain.tld"
local EMAIL_PASSWORD = "password"

-- The SMTP server and port of your email provider.
-- If you don't know it google [my email provider] SMTP settings
local SMTP_SERVER = "smtp.domain.tld"
local SMTP_PORT = "465"

-- The account you want to send email to
local mail_to = "name@domain.tld"

-- These are global variables. Don't change their values
-- they will be changed in the functions below
local email_subject = ""
local email_body = ""
local count = 0

local smtp_socket = nil -- will be used as socket to email server

-- The display() function will be used to print the SMTP server's response
function display(sck,response)
     print(response)
end

-- The do_next() function is used to send the SMTP commands to the SMTP
server in the required sequence.
-- I was going to use socket callbacks but the code would not run
callbacks after the first 3.
function do_next()
            if(count == 0)then
                count = count+1
                local IP_ADDRESS = wifi.sta.getip()
                smtp_socket:send("HELO "..IP_ADDRESS.."\\r\\n")
            elseif(count==1) then
                count = count+1
                smtp_socket:send("AUTH LOGIN\\r\\n")
            elseif(count == 2) then
                count = count + 1
                smtp_socket:send(crypto.toBase64(LOGIN).."\\r\\n")
            elseif(count == 3) then
                count = count + 1
                smtp_socket:send(crypto.toBase64(EMAIL_PASSWORD).."\\r\\n")
            elseif(count==4) then
                count = count+1
               smtp_socket:send("MAIL FROM:<" .. MY_EMAIL .. ">\\r\\n")
            elseif(count==5) then
                count = count+1
               smtp_socket:send("RCPT TO:<" .. mail_to ..">\\r\\n")
            elseif(count==6) then
                count = count+1
               smtp_socket:send("DATA\\r\\n")
            elseif(count==7) then
                count = count+1
                local message = string.gsub(
                "From: "".. MY_EMAIL ..""<"..MY_EMAIL..">\\r\\n" ..
                "To: "".. mail_to .. ""<".. mail_to..">\\r\\n"..
                "Subject: ".. email_subject .. "\\r\\n\\r\\n"  ..
                email_body,"\\r\\n.\\r\\n","")

                smtp_socket:send(message.."\\r\\n.\\r\\n")
            elseif(count==8) then
               count = count+1
                 tmr.stop(0)
                 smtp_socket:send("QUIT\\r\\n")
            else
               smtp_socket:close()
            end
end

-- The connectted() function is executed when the SMTP socket is
connected to the SMTP server.
-- This function will create a timer to call the do_next function which
will send the SMTP commands
-- in sequence, one by one, every 5000 milliseconds.
-- You can change the time to be smaller if that works for you, I used
5000ms just because.
function connected(sck)
    tmr.alarm(0,5000,1,do_next)
end

-- @name send_email
-- @description Will initiated a socket connection to the SMTP server
and trigger the connected() function
-- @param subject The email's subject
-- @param body The email's body
function send_email(subject,body)
     count = 0
     email_subject = subject
     email_body = body
     smtp_socket = net.createConnection(net.TCP,1) -- the last paramater indicates the connection is secured by TLS/SSL
     smtp_socket:on("connection",connected)
     smtp_socket:on("receive",display)
     smtp_socket:connect(SMTP_PORT,SMTP_SERVER)
end

function query()
    subject = "Notification email"
    body = "This is the body of the email"
    send_email(subject,body.."\\n.\\n")
end

print("Ready to work. Sending email.")
query()

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.