<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Tech Guy FR &#187; piratage</title>
	<atom:link href="http://blog.juliencrouzet.fr/tag/piratage/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.juliencrouzet.fr</link>
	<description>Le blog de Julien CROUZET</description>
	<lastBuildDate>Thu, 01 Jul 2010 19:38:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>HADOPI Censuré : On risque maintenant de.</title>
		<link>http://blog.juliencrouzet.fr/404/hadopi-censure-on-risque-maintenant-de/</link>
		<comments>http://blog.juliencrouzet.fr/404/hadopi-censure-on-risque-maintenant-de/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:04:13 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[hadopi]]></category>
		<category><![CDATA[patate]]></category>
		<category><![CDATA[piratage]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=404</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2044   38050648  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2052   38053880  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2053   38056192  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_405" class="wp-caption aligncenter" style="width: 199px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/06/raffarinalbanelpinaultpompidouorsayguimetsubventionsubventionsassociationassociationsministereculturermilouvre.jpg" rel="lightbox[404]"><img class="size-medium wp-image-405" title="albanel" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/06/raffarinalbanelpinaultpompidouorsayguimetsubventionsubventionsassociationassociationsministereculturermilouvre-300x225.jpg" alt="Christine ne trouve pas ça drôle" width="189" height="141" /></a><p class="wp-caption-text">Christine ne trouve pas ça drôle</p></div>
<p><a href="http://vidberg.blog.lemonde.fr/2009/06/11/la-nouvelle-loi-hadopi/">L&#8217;actu en patate du jour</a> de Martin Vidberg est juste énorme :</p>
<p><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/06/170-hadopi2.1244713833.gif" rel="lightbox[404]"><img class="aligncenter size-full wp-image-406" title="170-hadopi2.1244713833" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/06/170-hadopi2.1244713833.gif" alt="170-hadopi2.1244713833" width="500" height="549" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/404/hadopi-censure-on-risque-maintenant-de/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dailymotion &#8211; NKM : Vos paupières sont loooourdes</title>
		<link>http://blog.juliencrouzet.fr/359/dailymotion-lobby-hadopi-vos-paupieres-sont-loooourdes/</link>
		<comments>http://blog.juliencrouzet.fr/359/dailymotion-lobby-hadopi-vos-paupieres-sont-loooourdes/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 00:12:00 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[dailymotion]]></category>
		<category><![CDATA[Ego Trip]]></category>
		<category><![CDATA[piratage]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=359</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2091   38055800  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2212   38058384  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2214   38060768  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_360" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/060110_pol_lobbyingtn.jpg" rel="lightbox[359]"><img class="size-thumbnail wp-image-360" title="060110_pol_lobbyingtn" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/060110_pol_lobbyingtn-150x150.jpg" alt="De la startup à la soupe politico-financière" width="150" height="150" /></a><p class="wp-caption-text">De la startup à la soupe politico-financière</p></div>
<p>[Avant toute chose, je préfère l'annoncer directement, même si je m'efforce de le rester, je ne pense pas être totalement subjectif vis-à-vis de Dailymotion, pour des raisons qui on trait à mon passé professionnel ...]</p>
<p>Le buzz du moment, c&#8217;est évidemment le clash <a href="http://fr.wikipedia.org/wiki/Nathalie_Kosciusko-Morizet">NKM </a>/ <a href="http://www.dailymotion.com/fr">Dailymotion</a> qui à coup de<a href="http://www.lefigaro.fr/assets/pdf/Dailymotion_NKM.pdf"> lettres ouvertes</a> et de <a href="http://www.lefigaro.fr/flash-actu/2009/03/19/01011-20090319FILWWW00320-nkm-rejette-les-critiques-de-dailymotion.php">communiqués</a> s&#8217;opposent su fond de la loi HADOPI, j&#8217;y reviendrais pas, beaucoup d&#8217;autre <a href="http://eco.rue89.com/2009/03/18/nkm-et-la-loi-hadopi-silence-ca-tourne-au-vinaigre">le font</a>.</p>
<p>J&#8217;aimerais pour ma part revenir sur la position de Dailymotion depuis quelques années &#8230; qui devient le politicien parfait.</p>
<p><span id="more-359"></span></p>
<h2>Acte I : La langue de bois</h2>
<p>Dailymotion et le piratage, autant le dire tout de suite, c&#8217;est une histoire d&#8217;amour cachée ; un peu comme un flambant beau-gosse qui serait tombé amoureux d&#8217;une fille laide et impopulaire. C&#8217;est logique, qui dit films piratés, dit audience, dit donc revenus pour une société qui peine à générer des bénéfices miettes par rapport à ce qu&#8217;elle a couté à ses investisseurs.</p>
<p>Ma vision de l&#8217;anti-piratage pour une plateforme de partage vidéo me semble n&#8217;avoir qu&#8217;un débouché pérenne : le partenariat avec l&#8217;ayant droit. Mais qui dit partenariat, dit partage des revenus publicitaires ! Un bon vieil épisode de série piraté c&#8217;est facile des (centaines de) milliers de vues que l&#8217;on monetise sans partage.</p>
<p>Dailymotion n&#8217;est pas une association 1901 qui se bat pour libérer Internet, c&#8217;est une grosse société qui se bat pour rentabiliser ses tours de tables avec votre passion pour Dexter !</p>
<p>Mais une société de cette taille ne peut se permettre de ne pas communiquer sur un tel sujet. Communiquer, c&#8217;est d&#8217;ailleurs tout ce que fait Dailymotion sur ce sujet &#8230; Et l&#8217;argument qui fait mouche, c&#8217;est &laquo;&nbsp;<a href="http://tf1.lci.fr/infos/high-tech/0,,3563500,00-piratage-dailymotion-choisit-solution-ina-.html">On a un partenariat avec l&#8217;INA</a>&laquo;&nbsp;.</p>
<p>Je me souviens encore avec émotion du MIPCOM 2007 ou ce partenariat à été communiqué. J&#8217;étais alors sur un stand ou je présentais ma solution de détection de contenus piratés : MotionRights (pas taper). Nous avons eu la visite de l&#8217;équipe de Dailymotion avec à sa tête Didier Rappaport, hautain (comme toujours). Je n&#8217;étais pas présent malheureusement (les affaires, c&#8217;est les affaires), je sais juste qu&#8217;il à insulté notre employé, lui expliquant que ce que l&#8217;on faisait nuisait à l&#8217;internet et n&#8217;était pas honnête. Ponctué par un &laquo;&nbsp;Qu&#8217;ils aille se faire enc&#8230;&nbsp;&raquo;. Classe.</p>
<p>Deux ans plus tard, la musique est la même.</p>
<p>Pour information ; <a href="http://www.ina.fr/entreprise/activites/recherche-audiovisuelle/signature.html">Signature</a>, la solution de l&#8217;INA adoptée par Dailymotion ; c&#8217;est une solution basée sur le <a href="http://en.wikipedia.org/wiki/Digital_video_fingerprinting">fingerprint</a>. Dailymotion est responsable de la mise en oeuvre de la solution sans aucun contrôle. Mis à part le fait que Signature ne marche pas vraiment (testé détail par votre serviteur), je pense que lorsque l&#8217;on se décide à critiquer HADOPI et son application qui ne nécessite pas de Juge (et je suis d&#8217;accord), on applique à soi-même ses convictions.</p>
<h2>Acte II : La censure</h2>
<p>Qui dit plateforme d&#8217;échange de vidéo dit ouverture d&#8217;esprit. Ouverture d&#8217;esprit ne veut pas dire tout laisser diffuser, non. Censurer des vidéos racistes, trop violentes, pédophile est un devoir, Dailymotion est irréprochable sur ce point.</p>
<p>Cependant, depuis longtemps, on voit croître un nombre impressionnant de médias dénonçant la censure comme <a href="http://www.lepost.fr/article/2008/02/17/1100263_mais-pourquoi-dailymotion-a-encore-censure-une-video-politiquement-embarrassante.html">Le Post</a>, <a href="http://www.expressions.be/2006/10/16/dailymotion-censure-la-video-l-orgie-de-mickey/">Expressions.be</a>, <a href="http://mygloo.org/2009/02/26/dailymotion-censure/">etc</a>. A date, la requête &laquo;&nbsp;Dailymotion censure&nbsp;&raquo; sur Google donne 172 000 résultats, pas de fumée sans feu ? Je le pense.</p>
<p>Et évidemment, quand on lève des milions d&#8217;euros, et surtout quand le peu de rentabilité qu&#8217;on a (quand on en a) vient d&#8217;annonceurs, on doit être &laquo;&nbsp;politiquement correcte&nbsp;&raquo;. Le terme &laquo;&nbsp;politiquement correct&nbsp;&raquo; d&#8217;ailleurs prend toute sa splendeur, très souvent les vidéos censurées concernent des politiciens (entartrés, pris en flagrant délits, etc.)</p>
<p>Et bien sûr, à chaque fois, on a le droit aux violons du &laquo;&nbsp;non ce n&#8217;est pas de la censure&nbsp;&raquo; (voir Acte I), suivi de quelques lignes d&#8217;auto congratulation sur une plateforme vidéo qui est le symbole même du Web Libre.</p>
<h2>Acte III : Le lobbying</h2>
<p>Mon homonyme (sans aucun lien) Thierry Crouzet pense que le net est le <a href="http://blog.tcrouzet.com/le-cinquieme-pouvoir/">5ème pouvoir</a>. C&#8217;était le cas pour Dailymotion au début. Benjamin Bejbaum avait des **** et inventait un concept audacieux, Olivier Poitrey avec des techniques bien foutues codait des encodeurs Formule 1, Rappaport sortait son sourire de vendeur d&#8217;aspirateur et recyclait les anciennes API du site chez TF1 pour faire un peu de cash.</p>
<p>Les investisseurs sont arrivés et ont mis Bejbaum au placard, Poitrey devant ses baies de frontaux et envoyé Rappaport raconter au journalistes comment il a tout créé. Les enarques ou diplômés d&#8217;autres grandes écoles sont arrivés de leur cabinets ministeriels.</p>
<p>Dailymotion et le pouvoir, c&#8217;est une longue histoire d&#8217;amour. Le meilleur exemple fut le jeu de chaise musicale de 2007 : <span>Séverin Naudet, vice-président de DM quitte la société pour rejoindre le cabinet de François Fillon, un habitué des hautes sphères puisqu&#8217;il était conseiller de </span><span>Renaud Donnedieu de Vabres (</span><span>ministre de la Culture). Il laissera sa place à </span><span>Martin Rogard, </span><span>chef du pôle multimédia au Ministère de la Culture et fils de </span>Pascal Rogard, LE chef de file du loby du cinéma, directeur de la <a href="http://www.sacd.fr">SACD</a> et tête pensante de la HADOPI.</p>
<p><span>Plus dernièrement on monte d&#8217;un cran. Dailymotion par un biais que l&#8217;on ne connaitra jamais (vacances en Corse, renvois d&#8217;ascenceurs ou cours particuliers pour lui expliquer ce que c&#8217;est, finalement, <a href="http://www.dailymotion.com/video/x7y3lm_flefebvre-et-le-web-20_news">ce Web2.0</a>) Dailymotion s&#8217;est offert un commercial au top, <a href="http://fr.wikipedia.org/wiki/Fr%C3%A9d%C3%A9ric_Lefebvre">Fréderic Lefebvre</a> :</span></p>
<p><span><br />
</span><br />
<object width="425" height="344" data="http://www.youtube.com/v/cRk3JEY7TEQ&amp;hl=fr&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/cRk3JEY7TEQ&amp;hl=fr&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p><object width="425" height="344" data="http://www.youtube.com/v/VMGU3JYZSaU&amp;hl=fr&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VMGU3JYZSaU&amp;hl=fr&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Il vend bien, non ? Allez soyez sympa, allez-y sur le Dailymotion Kids, il est payé à la commission et personne n&#8217;y va <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>D&#8217;ailleurs, <a href="http://kids.dailymotion.com/">Dailymotion Kids</a>, quand on y pense, c&#8217;est juste THE exemple que Dailymotion a perdu son ame, ce n&#8217;est ni UGC ni participatif, ni rien du tout en fait. C&#8217;est un encart publicitaire avec du Dora dedans. Il faut bien vendre des corn flakes aussi &#8230;</p>
<h2>Conclusion</h2>
<p>Bien entendu, cet article est un peu cinglant. Dailymotion, ça reste quand même un exemple de réussite à la française et quand je repense à l&#8217;époque ou j&#8217;ai visité leur bureaux de 20 m² sous les toits dans le quartier latin c&#8217;est quand même une très belle réussite.</p>
<p>Mais quand on lit un <a href="http://www.lefigaro.fr/assets/pdf/Dailymotion_NKM.pdf">courier</a> pareil que l&#8217;on croirait écrit par un <a href="http://www.laquadrature.net/">membre de la quadrature du net</a>, alors qu&#8217;il est écrit par un financier de la meme veine que ceux des majors, fils d&#8217;une tête pensante d&#8217;HADOPI et ayant fait plus de mal à  un grand média du net que le fera HADOPI, je ne peux m&#8217;empécher d&#8217;exprimer ma nausée.</p>
<h3><strong><span style="text-decoration: underline;">Benjamin, reviens !!</span></strong></h3>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/359/dailymotion-lobby-hadopi-vos-paupieres-sont-loooourdes/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>[PHP] Les requêtes préparées</title>
		<link>http://blog.juliencrouzet.fr/343/php-les-requetes-preparees/</link>
		<comments>http://blog.juliencrouzet.fr/343/php-les-requetes-preparees/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 07:00:49 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[pdo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[piratage]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=343</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2357   38067896  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2474   38070472  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2476   38072848  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_344" class="wp-caption aligncenter" style="width: 152px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/pr_cadenas_anse_surex_de_40mm.jpg" rel="lightbox[343]"><img class="size-thumbnail wp-image-344" title="pr_cadenas_anse_surex_de_40mm" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/pr_cadenas_anse_surex_de_40mm-150x150.jpg" alt="pr_cadenas_anse_surex_de_40mm" width="142" height="160" /></a><p class="wp-caption-text">Protégez votre code !</p></div>
<p style="text-align: left;">Une des failles les plus connues, les plus utilisées et les plus simples à utiliser quand on parle de sites Web, c&#8217;est évidemment les injections SQL. Même Kaskpersky, le grand nom de la sécurité informatique <a href="/2009/02/10/le-site-de-kaspersky-hacke/">y passe</a>.</p>
<p style="text-align: left;">Les requêtes préparées sont, de loin, la méthode la plus fiable et la plus performante pour se protéger.</p>
<p style="text-align: left;">Je vais essayer dans cet article de vous expliquer pourquoi et surtout comment les utiliser avec PDO (qui rappelons le va devenir le <a href="http://r.wikipedia.org/wiki/Système_de_gestion_de_base_de_données">SGBD </a>par défaut de PHP6, les fonctions mysql_*, désuettes,  seront recalées au fin fond d&#8217;une extension <a href="http://pecl.php.net">PECL</a>).</p>
<p style="text-align: left;"><span id="more-343"></span></p>
<h2 style="text-align: left;">Une injection SQL, comment ça marche ?</h2>
<p>Le fonctionnement des applications PHP / MySQL (ou autres) depuis des lustres est basé sur un principe simple : L&#8217;utilisateur envoi une requête, cette requête est interprétée, une requête SQL en découle et le résultat est mis en forme ou enregistré en base de données.</p>
<p>Pour ce faire, le développeur génère des requêtes SQL en utilisant les données envoyées par l&#8217;internaute comme paramètres, par exemple :</p>
<pre lang="php">mysql_query('UPDATE `users` SET `name`="' . $_POST['name'] . '" WHERE `id_user`=' . $user_id);</pre>
<p>Problème : L&#8217;internaute envoie ce qu&#8217;il veut, et la requête effectuée sur la base de donnée peut être dangereuse. Par exemple, dans l&#8217;exemple précédent, si l&#8217;internaute envoie</p>
<blockquote><p>&laquo;&nbsp;; DELETE from users; &#8211;</p></blockquote>
<p>vous allez envoyer comme requête à votre serveur SQL :</p>
<pre lang="sql">UPDATE `users` SET `name`=""; DELETE from users; --" WHERE `id_user`= 5</pre>
<p>Soit : Efface tous les noms de ma table puis vide là. Problématique &#8230;</p>
<h2 style="text-align: left;">L&#8217;échappement comme solution miracle &#8230;</h2>
<p>Face à ce problème évident de sécurité, les développeurs ont souvent le reflexe d&#8217;utiliser <a href="http://fr.php.net/mysql-escape-string">mysql_escape_string()</a>, ou mieux, <a href="http://fr.php.net/manual/fr/function.mysql-real-escape-string.php">mysql_real_escape_string()</a>. Ces deux fonctions de PHP ont pour but de protéger les champs envoyés par les internautes contre ces injections SQL en échappant (en ajoutant un backslash ou <strong></strong>) devant les caractères    <em>NULL</em>, <em>x00 </em>(null), <em>n </em>(saut de ligne),    <em>r</em> (retour chariot), <em></em>, <em>&#8216;</em>,    <em>&laquo;&nbsp;</em> et <em>x1a </em>(control).</p>
<p>Pour l&#8217;exemple précédent, cela donnera :</p>
<pre lang="php">mysql_query('UPDATE `users` SET `name`="' . mysql_real_escape_string($_POST['name']) . '" WHERE `id_user`=' . mysql_real_escape_string($user_id));</pre>
<p>soit la requête :</p>
<pre lang="sql">UPDATE `users` SET `name`=""; DELETE from users; --" WHERE `id_user`= 5</pre>
<p>Youpi nous voila protégé ! L&#8217;article est fini ? Non.</p>
<h2 style="text-align: left;">&#8230; ou pas !</h2>
<h3>mysql_real_escape_string() n&#8217;est pas totalement sécurisé</h3>
<p>Et oui, on nous ment, on nous spolie ! Bon, la on passe au niveau barbu du hacking (les enfants, passez au point suivant, ne refaites pas cela chez vous).</p>
<p>mysql_real_escape_string() se base sur le jeu de caractère de la connexion active (<em>SET NAMES</em>) et si celui-ci n&#8217;est pas actif, elle utilise le jeu de caractère par défaut. Il est alors facile d&#8217;utiliser la magie de &laquo;&nbsp;<em><code>chr(0xbf) . chr(0x27)</code></em><code>" pour insérer l'injection fatale.</code>Cependant, cela ne marche que pour des jeu de caractères comme GBK ou Big5, donc il est probable qu&#8217;un <em>SET NAMES</em> soit présent.</p>
<p>Vous n&#8217;avez pas compris ? Pas grave, retenez juste que malgré ce que dit le complot universel, mysql_real_escape_string() n&#8217;est pas infaillible !</p>
<h3>Alors pourquoi ne pas encoder la chaîne ?</h3>
<p>Effectivement, si l&#8217;on utilise <a href="http://fr.php.net/manual/fr/function.htmlentities.php">htmlentities()</a> qui convertit chaque caractère qui peut l&#8217;être en entité HTML (&amp;quelquechose), ou <a href="http://fr.php.net/base64-encode">base64_encode()</a>, etc. il semble que l&#8217;on sera protégés ?</p>
<p>Oui et non, déjà non, on ne sera pas <span style="text-decoration: underline;">COMPLÈTEMENT </span>protégé, pour les même raisons que le point précédent. Et puis vous allez vous compliquer la vie lorsque vous souhaiterez rechercher du texte (oui, rechercher des entités HTML c&#8217;ets pas sexy).</p>
<h3>Et puis surtout, ce n&#8217;est pas optimisé !</h3>
<p>Un des goulot d&#8217;étranglement d&#8217;une application web ou d&#8217;un site, c&#8217;est souvent la base de donnée ; alors en plus y rajouter des traitement, recherche et modifications permanents de chaîne, c&#8217;est du suicide et du massacre de cycle de processeur !</p>
<h2 style="text-align: left;">Puis vinrent les requêtes préparées !</h2>
<p>Les requêtes préparées, ou prepared queries, c&#8217;est la bonne réponse, pour la simple et bonne raison : Ce n&#8217;est pas un patch mais une refonte de la reflexion !</p>
<p>Posons nous une seconde sur le problème, la source de la faille repose sur le fait qu&#8217;un serveur SQL quel qu&#8217;il soit se base sur un concept : PHP se connecte, lui donne une requête (un ordre) qu&#8217;il execute sans broncher.Le script lui prend une donnée qui n&#8217;est pas contrôlée par le développeur et la place au milieu de l&#8217;ordre donnée.</p>
<p>Il n&#8217;y a donc qu&#8217;une solution : Séparer ce que l&#8217;on contrôle, l&#8217;ordre, de ce que l&#8217;on ne controle pas, les arguments.</p>
<p>Le principe de la requête préparée, c&#8217;est ça. On dit au serveur SQL :</p>
<blockquote><p>Tu vas modifier le champs name par une certaine valeur la table users quand le champs id sera d&#8217;un autre certaine valeur</p></blockquote>
<p>Puis, on lui précise</p>
<blockquote><p>La première valeur c&#8217;est $_POST['name'], et la seconde c&#8217;est 5</p></blockquote>
<p>La première partie fera l&#8217;objet d&#8217;un analyse du serveur SQL, la seconde ne le sera pas. Voila, on est protégé, on est optmisé la messe est dite <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2 style="text-align: left;">Donc, comment ça marche ?</h2>
<p>Qui dit requête préparée en PHP, dit <a href="http://fr.php.net/pdo">PDO</a> (ou <a href="http://framework.zend.com/manual/fr/zend.db.html">Zend Framework</a> qui vous simplifie la vie, voila il est placé).</p>
<p>Plutôt qu&#8217;un long discours, voici un exemple qui insere et lit des données, pour aller plus loin, je vous laisse lire la doc.</p>
<pre lang="php">/**
 * Création d'un objet PDO
 */
$object = new PDO('mysql:host=localhost;dbname=myDatabase', 'user', 'pass');
/**
 * On énonce une requête préparée
 */
$statement = $object->prepare("SELECT * FROM `user` WHERE `name`=? OR `firstname`=?");
/**
 * On éxécute l'énoncé avec une paire d'argument
 */
$statement->execute(array($_POST['name'], $_POST['firstname']));
/**
 * On récupère le résultat
 */
$result = $statement->fetchRow();
/**
 * On énonce une requête préparée d'insertion
 */
$statement = $object->prepare("INSERT INTO `users` (`name`, `firstname`, `email`) VALUES (?, ?, ?)");
/**
 * On éxécute l'énoncé pour 4 valeurs différentes
 */
$statement->execute(array('doe', 'john', 'john.doe@gmail.com'));
$statement->execute(array('gates', 'bill', 'bill@microsoft.com'));
$statement->execute(array('jobs', 'steve', 'sjobs@apple.com'));
$statement->execute(array('"; DELETE from users; --', 'blah', 'bleh'));</pre>
<h2 style="text-align: left;">D&#8217;autres intérêts ?</h2>
<p style="text-align: left;">Utiliser des requêtes préparées en PDO ne vous apportera pas que la sécurisation de vos requêtes.</p>
<p style="text-align: left;">Déjà, utiliser PDO vous apportera une vraie conception objet de la gestion de la base de données (mais encore plus avec Zend Framework <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) mais j&#8217;y reviendrais avec un billet sur <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur">MVC</a>.</p>
<p>Mais en plus, si vous regardez bien l&#8217;exemple, j&#8217;ai fait 4 requêtes avec une énoncé, donc concretement, votre serveur SQL n&#8217;a analysé qu&#8217;une fois votre requête et vous n&#8217;avez fait aucune analyse des paramètres.</p>
<p>Je vous laisse méditer sur l&#8217;optimisation obtenue <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/343/php-les-requetes-preparees/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Clickster, encore un truc de pirate !</title>
		<link>http://blog.juliencrouzet.fr/291/clickster-encore-un-truc-de-pirate/</link>
		<comments>http://blog.juliencrouzet.fr/291/clickster-encore-un-truc-de-pirate/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 20:43:44 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[piratage]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=291</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2611   38072616  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2622   38075168  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2624   38077520  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_292" class="wp-caption aligncenter" style="width: 201px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/pascal_negre.jpg" rel="lightbox[291]"><img class="size-full wp-image-292" title="pascal_negre" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/pascal_negre.jpg" alt="Pascal Negre n'aime pas ce logiciel" width="191" height="184" /></a><p class="wp-caption-text">Pascal Negre n&#39;aime pas ce logiciel</p></div>
<p>Comme beaucoup, vous vous sentez l&#8217;ame d&#8217;un pirate de haut niveau en cherchant des MP3 avec la bonne vieille astuce Google du <a href="http://drdrak.over-blog.com/article-288506.html">intitle:index.of</a> ?</p>
<p>Le vrai priate barbu, lui, il a un logiciel qui le fait tout seul : <a href="http://www.remlapsoftware.com/">clickster</a>.</p>
<p>Par contre, attention ! Ce logiciel est nominé pour le logiciel le plus moche de l&#8217;année <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/291/clickster-encore-un-truc-de-pirate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les MP3 de Myspace sans leur design affreux</title>
		<link>http://blog.juliencrouzet.fr/270/les-mp3-de-myspace-sans-leur-design-affreux/</link>
		<comments>http://blog.juliencrouzet.fr/270/les-mp3-de-myspace-sans-leur-design-affreux/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 18:47:31 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[musique]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[piratage]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=270</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2665   38077360  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2674   38079928  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2676   38082208  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_271" class="wp-caption aligncenter" style="width: 168px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/51446-pirates-des-caraibes.jpg" rel="lightbox[270]"><img class="size-medium wp-image-271" title="51446-pirates-des-caraibes" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/51446-pirates-des-caraibes-300x266.jpg" alt="Profitez en avant HADOPI" width="158" height="139" /></a><p class="wp-caption-text">Profitez en avant HADOPI</p></div>
<p>Myspace, ça rame, c&#8217;est moche et ça pique les yeux. Enfin c&#8217;est mon avis <img src='http://blog.juliencrouzet.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En tout cas vous pouvez télécharger tous les MP3 de Myspace facilement grâce à <a href="http://apache.proxade10.free.fr/MS/ms.php">ça</a>.</p>
<p>Vous entrez l&#8217;url d&#8217;une page Myspace, et hop, c&#8217;est prêt !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/270/les-mp3-de-myspace-sans-leur-design-affreux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blackout</title>
		<link>http://blog.juliencrouzet.fr/232/blackout/</link>
		<comments>http://blog.juliencrouzet.fr/232/blackout/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 00:34:02 +0000</pubDate>
		<dc:creator>c2c</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[blackout]]></category>
		<category><![CDATA[hadopi]]></category>
		<category><![CDATA[piratage]]></category>

		<guid isPermaLink="false">http://blog.juliencrouzet.fr/?p=232</guid>
		<description><![CDATA[
Warning: call_user_func_array() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php on line 166

Call Stack:
    0.0001     623456   1. {main}() /home/www/blog.juliencrouzet.fr/index.php:0
    0.0002     628984   2. require('/home/www/blog.juliencrouzet.fr/wp-blog-header.php') /home/www/blog.juliencrouzet.fr/index.php:17
    0.1981   37916720   3. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php') /home/www/blog.juliencrouzet.fr/wp-blog-header.php:16
    0.1990   37919640   4. do_feed() /home/www/blog.juliencrouzet.fr/wp-includes/template-loader.php:14
    0.1990   37919920   5. do_action() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1721
    0.1990   37921944   6. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:395
    0.1990   37922000   7. do_feed_rss2() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:0
    0.1990   37922192   8. load_template() /home/www/blog.juliencrouzet.fr/wp-includes/functions.php:1753
    0.1992   37984384   9. require_once('/home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php') /home/www/blog.juliencrouzet.fr/wp-includes/theme.php:1087
    0.2713   38082904  10. the_excerpt_rss() /home/www/blog.juliencrouzet.fr/wp-includes/feed-rss2.php:46
    0.2722   38085344  11. apply_filters() /home/www/blog.juliencrouzet.fr/wp-includes/feed.php:177
    0.2724   38087568  12. call_user_func_array() /home/www/blog.juliencrouzet.fr/wp-includes/plugin.php:166

]]></description>
			<content:encoded><![CDATA[<div id="attachment_233" class="wp-caption aligncenter" style="width: 174px"><a href="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/hadopi.jpg" rel="lightbox[232]"><img class="size-medium wp-image-233" title="hadopi" src="http://blog.juliencrouzet.fr/wp-content/uploads/2009/03/hadopi-300x215.jpg" alt="Resistance !" width="164" height="117" /></a><p class="wp-caption-text">Resistance !</p></div>
<p>En soutien à l&#8217;initiative <a href="http://www.laquadrature.net/fr/APPEL-HADOPI-blackout-du-net-francais">Blackout </a>le design du blog sera noir cette semaine (même si c&#8217;est très moche).</p>
<p>Je vous invite à en faire de même (avatars, blogs, etc.)</p>
<p>Bonne semaine !</p>
<p style="text-align: center;"><a title="HADOPI - Le Net en France : black-out" href="http://www.laquadrature.net/HADOPI"><img src="http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif" border="0" alt="HADOPI - Le Net en France : black-out" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.juliencrouzet.fr/232/blackout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
