Forum Programmation.web < canvas > : "Security error" avec getImageData()

Posté par  .
Étiquettes : aucune
0
7
août
2009
Bonjour,

Toujours à essayer de comprendre l'utilisation des images dans un < canvas >, j'ai fait beaucoup de choses, et là j'arrive confronté à un problème de taille.

Après le lancement de ma page HTML, Firebug me met :

Security error" code: "1000
var image = ctx.getImageData(pos[0], pos[1], img[0], img[1]);\n

Or j'ai fait une vérification, pos[0] vaut 0, pos[1] vaut 153, img[0] vaut 320, et img[1] vaut 307 (pour info mon < canvas > fait 960x614).

C'est surement Firebug qui exagère le problème, mais au cas où...

Des infos sur ce problème ? comment passer outre ?

(je ne pense pas qu'avoir le script complet avancera à grand chose)
  • # Lié à un chargement d'image externe

    Posté par  . Évalué à 2.

    En fait dans le script je charge une image, puis je la dessine.

    J'ai essayé avec la même image mais en la métant sur mon serveur et l'erreur ne s'est pas produite.

    Mais le mystère reste entier.

    « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

    • [^] # Re: Lié à un chargement d'image externe

      Posté par  . Évalué à 2.

      http://fr.wikipedia.org/wiki/Cross-site_scripting

      Tu ne peux traiter des infos que si les fichiers viennent du même serveur, c'est valide pour les frames, le JS, les images, tout tout tout :)
      • [^] # Re: Lié à un chargement d'image externe

        Posté par  . Évalué à 2.

        Pourtant si je charge une image externe, ca veut bien la mettre dans le canvas, mais ca ne veut pas récupérer les données.

        « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

        • [^] # Re: Lié à un chargement d'image externe

          Posté par  . Évalué à 2.

          Ba c'est ça le truc !

          Tu peux l'afficher, mais surtout ne rien savoir sur un objet qui n'est du même domaine. Rien, de rien, même pas la taille ou la couleur d'un pixel ! Parce qu'avec ça, tu peux avoir des fuites d'informations, etc... Bref, du XSS
          • [^] # Re: Lié à un chargement d'image externe

            Posté par  . Évalué à 2.

            Le mieux ne serait pas de filtrer les informations, genre pour chaque pixel, tu fais un parseInt(), pareil pour width et height, bref pas de XSS si "never trust user input".

            « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.