2010-07-12 13 views
1

Avant de télécharger un fichier, je dois le seler avec quelques informations supplémentaires pour augmenter les chances que le nom de fichier soit unique (sans état). L'appel de FileInfo.LastWriteTime-get déclenche un SecurityException indiquant que le processus nécessite des privilèges élevés.Où se trouve le danger d'obtenir des fichiers dans Silverlight?

Je peux voir dans une certaine mesure qu'il existe certaines informations historiques sur l'utilisateur dans ces données, mais aussi en considérant la facilité de manipulation de toute façon, mais pourquoi? Existe-t-il un autre moyen d'obtenir des informations similaires sans exiger des OOB administrés par des administrateurs?

Répondre

1

S'il existait un moyen d'obtenir cette information sans privilèges élevés, il s'agirait d'une vulnérabilité dans Silverlight. Il est courant de voir ces plates-formes RIA restreindre cette activité, Flex a des restrictions similaires.

Si vous avez juste besoin d'un nom de fichier unique, vous pouvez utiliser un horodatage + nom de fichier. ou md5(timestamp+random_value)+filename.

0

Non. Pourquoi? Parce que l'approche de la sécurité dans Silverlight est de garder la surface d'attaque aussi petite que possible. Tout ce qui est vraiment accordé en gagnant un FileInfo est le contenu du fichier. Pourquoi une application devrait-elle même avoir accès au nom du contenu dans le système de fichiers de l'utilisateur?

Si vous avez juste besoin de faire le nom unique suffit d'utiliser un Guid: -

string fileTitle += Guid.NewGuid().ToString("D");