raccourcisseur d'url

Eléphant du PHP | 170 Messages

18 nov. 2013, 22:52

Pour ton RewriteRule c'est [0-9a-zA-Z]
=> http://lumadis.be/regex/tuto_pcre.php


En reprenant l'idée de Mazarini, si tu utilises la fonction que j'ai postée, tu peux mélanger la chaine qui sert au codage :
par exemple : 'KUy4oIvm7R1qiFhtZ5xJNOuELGcMTps9jCAS2en0bWVw8zDH6Qkg3fPdlXBrYa'
Modifié en dernier par blof le 18 nov. 2013, 23:27, modifié 1 fois.

Eléphant du PHP | 170 Messages

18 nov. 2013, 23:00

et comme ça ?
<?php
for($id=7403905; $id<=7403935; $id++)
{
	// avec une fonction de hachage (md5 ou autre)
	// + un "grain de sel" ('rgsdr' dans l'exemple) pour embrouiller un peu plus 
	echo $id, ' => ', md5($id . 'rgsdr'), "<br>\n";
} 
?>
Ce qui donne :

Code : Tout sélectionner

7403905 => c04c5f15ad347a585e8680060396dd41 7403906 => 45e78a2e995b27a47b70b6890c1f2639 7403907 => 0daef5691ffe6fa285591036c71dd4ba 7403908 => 7f663df1dda89a34de150d02ffce5a25 7403909 => 91b330c7ab430d25644c47f9ca1f8156 7403910 => 79547ae2f4f6dd57cbff74320d3a2bd2 7403911 => e0eb2594023e864e5c696e86258214ab 7403912 => 498d1e42ffb232c6e95697d50eb1153f 7403913 => 50372ea0a25aa5a2eea44ee56fbe6f63 7403914 => 338271de8c08da91d2dcd484610dbf56 7403915 => b6ed6168013996687bddd7d182f78769 7403916 => 88aa2bfe8d558af388cbbf3b3cfe374a 7403917 => ba7b11c5a4eca7cddcc9ed26d64c010c 7403918 => f6e0fbadebfee490b8dc1f00ee441bcc 7403919 => 2037bfa0719b0e8e9c0cc929c0ce48a1 7403920 => 8340b8d793bcd80d269c7b8cb5c84fca 7403921 => 5180330c00b86e43806320f7255b4843 7403922 => e9c813eb696fc8a25409d5b16bac8e64 7403923 => a103e84b2516b98b1f84636c5a032172 7403924 => ce25ff3aafb38f48b51ac9d105ed192a 7403925 => e4a8093a74b8985b164ce7da4989dab3 7403926 => f28e738de72a1f20d2686063cbbbf9d5 7403927 => cd107da8bc5736bcb70901d88e3efdcd 7403928 => 58deec7322e4796b9156292f35962208 7403929 => 79ee2ae22da1634c9306371f9f13bb07 7403930 => d71ac8bd5e8013d7209f594fea480d32 7403931 => 5fde926fbe85391607c250dfe9c458ad 7403932 => 4d6aa3b67371a43f99599c635885b915 7403933 => 420f33ea96002e638ffe7f1177220cf2 7403934 => 6855164587b22210842c0aee6097e85e 7403935 => 3fb31bcec7615fe78cf537896319395f
#-o

Eléphanteau du PHP | 26 Messages

19 nov. 2013, 12:55

blof => c''est pour faire quoi ton truck ? le but de raccourcir une url c'est d'en obtenir une courte pour la poster ailleurs et pas de la rallonger^^ ou alors j'ai pas compris ce que tu souhaite me montrer dans ton commentaire.

Sinon pour mon .htaccess je comprend pas comment un simple - ou / après activation_compte peut faire que ma variable clé en url n’existe pas:
RewriteRule ^activation_compte/([0-9-a-z-A-Z]+)$ activation_compte.php?cle=$1 [QSA]
http://site.fr/activation_compte/cle_0001

Eléphanteau du PHP | 26 Messages

22 nov. 2013, 01:57

Je progresse beaucoup: j'ai crée mon système de connexion avec reconnexion automaque par COOKIE, l'inscription avec validation par mail...
Les fonctions que vous avez donnée pour encoder en base62 marche peut être, mais c'est aussi utile de savoir le décodé^^. Si on peut pas le décodé il faut comparer avec la dernière ligne en BDD et c'est pas pratique.

-----

Petite aparté:
Sur ce code, le $letter > 31 veut dire que sur une clé de de 50 caractères par exemple seulement 31 seront utilisé ?
	public static function crypter($maChaineACrypter) {
$maCleDeCryptage = md5($this->cle_crypter);
$letter = -1;
$newstr = '';
$strlen = strlen($maChaineACrypter);

	for($i = 0; $i < $strlen; $i++ )
	{
$letter++;
		if ( $letter > 31 )
			{
		$letter = 0;
			}
			
$neword = ord($maChaineACrypter{$i}) + ord($maCleDeCryptage{$letter});

		if ( $neword > 255 )
			{
		$neword -= 256;
			}
$newstr .= chr($neword);
	}

$newstr = serialize( array(1, "texte" => $newstr) );
	
return base64_encode($newstr);
}