Mon avancé sur mon serveur

Bonjour à vous tous,

J’ai récemment appris grâce à l’aide de mon ami OniriCorpe le principe des VirtualHost sur apache2, je me suis donc empressé d’optimiser au mieux mon raccourcisseur d’URL grâce à un peu de recodage et surtout l’achat d’un nouveau nom de domaine (un peu ridicule au passage) pupu.eu j’offre mon code sous licence CC-BY-NC-SA sur GitHub ( avec un peu d’explication au passage 😉 )

J’en ai profité pour tester un Annonceur (proposé par OniriCorpe toujours) PandAd qui m’a l’air plutot clean et respectable sur mon raccourcisseur d’url.
Je me suis toujours dit en louant mon serveur pour une modique somme que je n’en profiterai pas pour me faire de l’argent grâce à de la pub, mais après tout, si c’est en l’échange d’un service pourquoi pas.
Sur les parties de mon site dédié à la communication « unilatérale » (mon blog, mon shaarli, …) je n’en metterai évidement pas : je ne venderai ni mon image, ni mes pensées, et je ne veux pas me censurer pour une régie pub.
J’hésite encore pour ma partie AutoBlog.

/HS/ J’ai aussi rapatrié le forum de staria sur ma machine pour diverse raisons et renouveler staria.fr encore grâce à OniriCorpe /HS/

Je suis aussi entrain de revoir ma page d’acceuil la version alpha est disponible ici Page terminé
Je suis plutot fière de mon CSS : mapage est « intéractive » sans aucun JavaScript.
Le placement est OK, j’ai ma palette de couleurs : http://paletton.com/#uid=53c0f0kpSlZtkNjsIvwoddKlW6T , j’ai commencé à les appliqués mais je suis loin d’avoir fini de l’appliquer ^^.
Gros défaut, le site est optimisé pour du 1366×768 en dessous ça marchera très mal ! (si j’ai pas la flemme je ferais peut etre un truc pour les résolutions mobiles via un @mediaquery)

PS : Un grand merci à mon ami et mentor Kiwii ^^ !

Un raccourcisseur d’url EDIT!

Aujourd’hui je me suis mis en tête de me faire un script php me permettant de raccourcir mes url.

Pourquoi ? Parce-que …

Parce-que j’avais besoin d’un raccourcisseur d’url qui n’espionne pas les liens que je souhaite raccourcir.

Voici le commentaire de début de mon script :

/***************************/
/* Auteur : Purexo : http://twitter.com/Purexo_
/*
/* Ceci est un raccourcisseur d'url
/* Il fonctionne en 3 temps :
/* 1- l'utilisateur rentre son lien à raccourcir
/* 2- le lien est rentré dans la base de donné, la page fournit à l'utilisateur son lien
/* 3- le lien fourni contient une variable a contenant l'id du lien demandé une requete sql fourni le lien grace à l'id puis la page redirige vers le lien
/*
/* Conseil d'utilisation :
/* - utiliser ce script sous le non de index.php dans la racine du serveur qui lui seras "dédié"
/* - faire un peu d'urlrewriting afin que http://hostname/id redirige vers http://hostname/index.php?a=id (afin d'avoir le lien le plus court possible)
/* - avoir un nom de domaine très court genre li.fr
/*
/* Pourquoi avoir fait mon raccourcisseur d'url ? :
/* - Pour m'entrainer
/* - j'en souhaitais un le plus minimaliste possible : pas de pub, pas de temps d'attente, pas de vérification d'url (ce qui est à la fois un avantage et un désavantage)
/*
/* Avantage et désavantage : 
/* le script ne vérifie rien, n'altère rien : il exécute, j'imagine que par conséquent il y a de grosse faille de sécurité, mais cela me permet d'entrer des liens
/* auto-destructible via zerobin sans que celui-ci ne soit analysé et donc détruit par une machine automatiquement.
/*
/* idée d'amélioration :
/* - fournir le lien avec l'id en hexadécimal. (toujours pour grappiller un peu de place)
/* - le remettre en décimal pour exécuter la requête sql avec redirection
****************************/

Je pense qu’après cela il n’y à pas grand chose à rajouter hormis le fait que j’utilise le SGBD mysql pour faire tourner ma BDD.

Voici mes sources :

short.php :

<?php
/***************************/
/* Auteur : Purexo : http://twitter.com/Purexo_
/*
/* Ceci est un raccourcisseur d'url
/* Il fonctionne en 3 temps :
/* 1- l'utilisateur rentre son lien à raccourcir
/* 2- le lien est rentré dans la base de donné, la page fournit à l'utilisateur son lien
/* 3- le lien fourni contient une variable a contenant l'id du lien demandé une requete sql fourni le lien grace à l'id puis la page redirige vers le lien
/*
/* Conseil d'utilisation :
/* - utiliser ce script sous le non de index.php dans la racine du serveur qui lui seras "dédié"
/* - faire un peu d'urlrewriting afin que http://hostname/id redirige vers http://hostname/index.php?a=id (afin d'avoir le lien le plus court possible)
/* - avoir un nom de domaine très court genre li.fr
/*
/* Pourquoi avoir fait mon raccourcisseur d'url ? :
/* - Pour m'entrainer
/* - j'en souhaitais un le plus minimaliste possible : pas de pub, pas de temps d'attente, pas de vérification d'url (ce qui est à la fois un avantage et un désavantage)
/*   Je pense rajouter une regex pour tester si c'est un lien, mais c'est tout (en meme temps si c'est pas un lien qui est fourni il n'y a aucun interet, que ce sois pour l'user, ou pour son stockage dans la BDD)
/*
/* Avantage et désavantage : 
/* le script ne vérifie rien, n'altère rien : il exécute, j'imagine que par conséquent il y a de grosse faille de sécurité, mais cela me permet d'entrer des liens
/* auto-destructible via zerobin sans que celui-ci ne soit analysé et donc détruit par une machine automatiquement.
/*
/* idée d'amélioration :
/* - fournir le lien avec l'id en hexadécimal. (toujours pour grappiller un peu de place)
/* - le remettre en décimal pour exécuter la requête sql avec redirection
****************************/

    $mysqli = new mysqli("localhost", "root", "********", "shorter"); //connection à la bdd (shorter c'est le nom de la base de donné')
    
    if(isset($_GET["a"])){
        $req = "SELECT link FROM links WHERE id = " . $_GET['a'] ;
        $res = $mysqli->query($req);
        $row = $res->fetch_assoc();
        $link = $row['link'];
        //echo $link;
        $test = header('Location: '.$link);
        //echo $test;
    }

?>
<!DOCTYPE html>
<html>
  <head>
    <title> Raccourcisseur d'url </title>
  </head>
  <body>
    <center>
        <h1> Bienvenue sur ce racoursisseur d'url </h1>
            <?php
                
                if(isset($_POST['lien'])){
                    $req = 'INSERT INTO links ( link ) VALUES ("'.$_POST['lien'].'")';
                    $mysqli->query($req);
                    $link = "https://purexo.tk/short.php?a=".$mysqli->insert_id; // ligne à changer en fonction de votre hébergement : http://hostname/nomduscript.php?a=
                    echo '<p><a href="'.$link.'">Votre Lien</a></p>';
                }
                
            ?>
            <form method="post" action="short.php"> <!-- nom de votre fichier.php -->
                <p>Votre lien à raccourcir</p>
                <textarea name="lien">https://purexo.tk/</textarea><br />
                <input type="submit" value="Envoyer" />
            </form>
    </center>
  </body>
</html>

shorter.sql :

CREATE DATABASE shorter;
USE shorter;

CREATE TABLE links (
  id bigint unsigned NOT NULL AUTO_INCREMENT,
  link text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (id)
);

Si vous avez des questions, des conseils (genre faille de sécurité) n’hésitez pas ^^ !

En attendant vous pouvez tester ça ici : short.php

 

EDIT :  j’ai maintenant un nom de domaine dédié pour ce service, le code source est dispo sur github et j’ai finalement opté pour SQLite3