Changeset 79134 in spip-zone


Ignore:
Timestamp:
Dec 4, 2013, 10:27:24 AM (5 years ago)
Author:
cedric@…
Message:

Fun fact : un site etant lui-même oembedable, mettre un lien explicite vers la page courante dans un article provoque une boucle infinie http qui fait un DOS sur le serveur, tranquille.

On securise : si une URL est sur le même domaine que la page courante, on essaye pas de l'oembed. C'est peut-être un peu sévère mais en même temps on a plein d'autres méthodes plus smart pour insérer du contenu de soi même.

Location:
_plugins_/oembed
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/oembed/oembed_pipelines.php

    r72312 r79134  
    181181 */
    182182function oembed_pre_propre($texte) {
     183        static $base = null;
    183184        include_spip('inc/config');
    184185        if (lire_config('oembed/embed_auto','oui')!='non') {
     
    189190                        AND preg_match(',\bauto\b,', extraire_attribut($lien, 'class'))
    190191                        AND (oembed_verifier_provider($url) OR (lire_config('oembed/detecter_lien','non')=='oui'))) {
    191                                 $fond = recuperer_fond('modeles/oembed',array('url'=>$url,'lien'=>$lien));
    192                                 if ($fond = trim($fond))
    193                                         $texte = str_replace($lien, echappe_html("<html>$fond</html>"), $texte);
     192                                if (is_null($base))
     193                                    $base = url_de_base();
     194                                if (strncmp($url,$base,strlen($base))!=0){
     195                                        $fond = recuperer_fond('modeles/oembed',array('url'=>$url,'lien'=>$lien));
     196                                        if ($fond = trim($fond))
     197                                                $texte = str_replace($lien, echappe_html("<html>$fond</html>"), $texte);
     198                                }
    194199                        }
    195200                }
  • _plugins_/oembed/paquet.xml

    r77960 r79134  
    22        prefix="oembed"
    33        categorie="multimedia"
    4         version="0.9.13"
     4        version="0.9.14"
    55        etat="test"
    66        compatibilite="[2.1.0;3.0.*]"
  • _plugins_/oembed/plugin.xml

    r77960 r79134  
    88        </auteur>
    99        <version>
    10         0.9.13
     10        0.9.14
    1111        </version>
    1212        <etat>
Note: See TracChangeset for help on using the changeset viewer.