Archive pour la catégorie 'PHP'

Générer le fichier .htpasswd en ligne pour protéger un répertoire sur Apache

Thursday 7 December 2006

if (($_POST[’usr’]) && ($_POST[’pwd’]))
{
$result = “.htaccess : \n”;
$result .= “AuthType Basic” . “\n”;
$result .= “AuthName \”protected area\”" . “\n”;
$result .= “AuthUserFile moncheminvers.htpasswd” . “\n”;
$result .= “require valid-user” . “\n”;

$result .= ” \n.htpasswd : \n”;
$result .= $_POST[’usr’].’:’.crypt($_POST[’pwd’],CRYPT_STD_DES).”\n”;

echo htmlentities($result);
}

?>

“>

Nom d’utilisateur :

Mot de passe :

Code source :

PHP:
  1. <br />
  2. if (($_POST[&#8217;usr&#8217;]) &#038;& ($_POST[&#8217;pwd&#8217;]))<br />
  3. {<br />
  4.         $result = &#8220;.htaccess : \n&#8221;;<br />
  5.     $result .= &#8220;AuthType Basic&#8221; . &#8220;\n&#8221;;<br />
  6.     $result .= &#8220;AuthName \&#8221;protected area\&#8221;" . &#8220;\n&#8221;;<br />
  7.     $result .= &#8220;AuthUserFile moncheminvers.htpasswd&#8221; . &#8220;\n&#8221;;<br />
  8.     $result .= &#8220;require valid-user&#8221; . &#8220;\n&#8221;;</p>
  9. <p> $result .= &#8221; \n.htpasswd : \n&#8221;;<br />
  10.     $result .= $_POST[&#8217;usr&#8217;].&#8217;:&#8217;.crypt($_POST[&#8217;pwd&#8217;],CRYPT_STD_DES).&#8221;\n&#8221;; </p>
  11. <p> echo htmlentities($result);<br />
  12. }<br />

Unix Timestamp en C# (compatible avec time() en PHP)

Thursday 7 December 2006

Actuellement : secondes écoulées depuis l’époque Unix (01/01/1970 00:00:00 UTC).

C#:
  1. <br />
  2. public int GetUnixTimeStamp()<br />
  3. {<br />
  4.        TimeSpan ts = DateTime.UtcNow - new DateTime(1970,1,1,0,0,0);<br />
  5.        return (int)ts.TotalSeconds;<br />
  6. }<br />

Mine de plugins pour Wordpress

Sunday 3 December 2006

Si vous cherchez un plugin d’évaluation d’article, de statistiques du site, de votes, d’affichage du nombre de visiteurs courants, … Allez faire un tour du côté de Gamerz Wordpress Ca vaut la peine !

Localiser géographiquement une adresse IP via des API pour PHP, Python, Java, C#, Perl…

Saturday 25 November 2006

MaxMindGeoIP fournit sous licence GPL une base de donnée permettant de localiser la ville et le pays d’une adresse IP. Ils fournissent également des API dans différents langages pour effectuer le calcul.

La fiabilité de la version gratuite est de 97% pour le pays et de 60% pour les villes dans un rayon de 40km aux Etats-Unis…Une nouvelle version de la base de donnée parait le premier de chaque mois.

Petite démonstration :
if(!ereg(’feed’,$_SERVER[”REQUEST_URI”]))
{
include_once(”./wp-content/scripts/geoipcity.inc.php”);

function getip() {
if (isSet($_SERVER)) {
if (isSet($_SERVER[”HTTP_X_FORWARDED_FOR”])) {
$realip = $_SERVER[”HTTP_X_FORWARDED_FOR”];
} elseif (isSet($_SERVER[”HTTP_CLIENT_IP”])) {
$realip = $_SERVER[”HTTP_CLIENT_IP”];
} else {
$realip = $_SERVER[”REMOTE_ADDR”];
}
} else {
if ( getenv( ‘HTTP_X_FORWARDED_FOR’ ) ) {
$realip = getenv( ‘HTTP_X_FORWARDED_FOR’ );
} elseif ( getenv( ‘HTTP_CLIENT_IP’ ) ) {
$realip = getenv( ‘HTTP_CLIENT_IP’ );
} else {
$realip = getenv( ‘REMOTE_ADDR’ );
}
}
return $realip;
}

$gi = geoip_open(”./wp-content/scripts/GeoLiteCity.dat”,GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,getip());
echo ‘ton adresse IP est : ‘.getip().’ et tu habites à ‘.$record->city.’ en ‘.$record->country_name;

geoip_close($gi);
}
?>.

Exécuter un script PHP dans un post sous WordPress

Saturday 25 November 2006

Il suffit d’installer le plugin Exec-PHP et de l’installer par la méthode habituelle. Vous pourrez ainsi exécuter du code via les balises habituelles.

Agrégateur de moteur de recherche de hash MD5 en PHP

Saturday 25 November 2006

Ilia a écrit un script qui permet d’effectuer une requête sur différentes bases de donnée de hash md5. Très utile pour retrouver son mot de passe et que son hash est stocké en base de donnée ;-)

Si vous ne trouviez pas votre mot de passe via ce moteur, vous pouvez le casser en ligne via le site plain-text

Trouver l’adresse IP d’un visiteur en PHP à coup sûr

Saturday 25 November 2006

PHP:
  1. <br />
  2. function getip() {<br />
  3.    if (isSet($_SERVER)) {<br />
  4.        if (isSet($_SERVER[&#8221;HTTP_X_FORWARDED_FOR&#8221;])) {<br />
  5.            $realip = $_SERVER[&#8221;HTTP_X_FORWARDED_FOR&#8221;];<br />
  6.         } elseif (isSet($_SERVER[&#8221;HTTP_CLIENT_IP&#8221;])) {<br />
  7.                 $realip = $_SERVER[&#8221;HTTP_CLIENT_IP&#8221;];<br />
  8.         } else {<br />
  9.                 $realip = $_SERVER[&#8221;REMOTE_ADDR&#8221;];<br />
  10.         }<br />
  11.     } else {<br />
  12.             if ( getenv( &#8216;HTTP_X_FORWARDED_FOR&#8217; ) ) {<br />
  13.                 $realip = getenv( &#8216;HTTP_X_FORWARDED_FOR&#8217; );<br />
  14.             } elseif ( getenv( &#8216;HTTP_CLIENT_IP&#8217; ) ) {<br />
  15.                 $realip = getenv( &#8216;HTTP_CLIENT_IP&#8217; );<br />
  16.             } else {<br />
  17.                 $realip = getenv( &#8216;REMOTE_ADDR&#8217; );<br />
  18.             }<br />
  19.     }<br />
  20.     return $realip;<br />
  21. }

Créer son propre proxy anonyme

Sunday 12 November 2006

Il existe un script PHP qui s’appelle PHPproxy.
Ce genre de script peut être très utile dans certains cas pour passer certains firewall ou filtres divers. Hotips décline toute responsabilité quand à l’utilisation de ce script.

Ajouter un compteur de visites pour WordPress

Sunday 12 November 2006

J’ai utilisé le plugin suivant : Counterize. Il permet d’afficher des statistiques basées sur les articles et nouvelles. Il ne gère malheureusement pas les visiteurs uniques. Si vous en connaissez un bon, ca m’intéresse.

Ajouter un nuage de mots-clefs (tagcloud) dans WordPress

Sunday 5 November 2006

J’ai utilisé le plug-in http://sw-guide.de/wordpress/category-tagging-plugin/ pour m’afficher cela. J’ai ensuite rajouté le code suivant dans mon thème dans le fichier sidebar.php :

PHP:
  1. if (function_exists (&#8217;cattag_tagcloud&#8217;) ) {<br />
  2. echo &#8216;</p>
  3. <ul class="tagcloud">&#8216; .  cattag_tagcloud(8,15) . &#8216;</ul>
  4. <p>&#8216;;<br />
  5. }<br />
  6. ?>

Petite remarque : lorsqu’il n’y a pas plus d’un post par catégorie, rien ne s’affiche ;-)