[Html/Javascript] Comment cachées les informations que contienne une variable ? - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27) +--- Sujet : [Html/Javascript] Comment cachées les informations que contienne une variable ? (/showthread.php?tid=2270) Pages :
1
2
|
[Html/Javascript] Comment cachées les informations que contienne une variable ? - WizOut - 12-10-2012 Salut à tous, J'ai un gros problème, j'ai un lecteur vidéo web flash, avec un code js ou il y a différents paramètres à rentrés, or je veux caché le lien de la vidéo qui sera affiché dans le html exemple : <script type="text/javascript">[...] lienvideo = 'mavideo.avi', [...] </script> je veux cacher le 'mavideo.avi' par autre chose, je ne veux absolument pas qu'on puisse trouver le chemin absolu de la vidéo J'ai eu en première pensé la cryptographie, je ne sais pas du tous comment m'y prendre, sachant que mon lecteur vidéo est flash il faut envoyé des infos dans un "tableau" javascript, le tous dois être sous des variables php, car je ne compte pas mettre qu'une seul video, ainsi il peux y avoir usage de la base de données (obligatoire dans tous les cas pour stocké). Merci. RE: Comment cachées les informations que contienne une variable ? - ark - 12-10-2012 Alors, j'ai une idée, mais c'est toujours possible de reverse je crois... ('fin en fait je pense pas que tu puisse faire un truc absolument irréversible) Bref, amyway, ce que je pensais, c'est que tu pourrais envoyer un hash du lien de la vidéo. et dans la partie flash, tu parcours ta liste de lien en générant le md5 correspondant, quand tu tombe sur le même, c'est que c'est la vidéo que tu cherche, tu peux donc lancer la lecture. btw fais attention a ce que ton répertoire qui contient les vidéos ait bien un fichier index.html (éviter le directory listing quoi...) RE: Comment cachées les informations que contienne une variable ? - CyberSee - 13-10-2012 Il y a environ 4 mois, j'ai programmé un site pour un client qui représente plusieurs chanteurs. Sur le site en question, il est possible d'acheter des MP3 a l'unité avec paypal. Évidement, quand la personne à payer je ne pouvais quand même pas lui balancer le lien vers la vidéo, car c'était trop dangereux qui devine le chemin vers les autres. Donc, j'ai créé une page en PHP qui récupère le nom du MP3 et la stream via une page PHP avec les header approprier. L'url ressemblait donc à mp3.php?id=6t87hnnuh7hgyg8gg78ggg plutôt que /musique/albume1/piste1.mp3 Je te conseille de faire un truc du genre. Associe le nom de ta vidéo a un id en utilisant un table mysql et utilise PHP pour le stremer dans ton javascript. Si tu veux pousser ton obfuscation a sont maximum, tu pourrais faire un cron qui change la variable ID de chaque vidéo tout les 30 minutes donc si quelqu'un récupère le lien, 30 minutes plus tard il marchera plus lol Obfuscer en Javascipt c'est impossible ... en finale, avec un minimum de connaissance y a toujours possibilité de trouver ce que tu cherches. À la limite tu pourrais faire un base64_encode en plus du streaming php ... de toute façon, celui qui a les connaissance pour le reverse aura les connaissance et la motivation pour peut importe ce que tu lui balancera en JS lol RE: Comment cachées les informations que contienne une variable ? - InstinctHack - 13-10-2012 js est simplement non compatibles avec une vraie sécurité comme l'as dis CyberSee, et je trouve son idée géniale et pas dur à mettre en place, et comme l'as dis Ark faut bloquer le directory listing sous apache c'est : Code : Options -Indexes RE: Comment cachées les informations que contienne une variable ? - WizOut - 13-10-2012 Merci a vous deux! @Ark , j'y avais pensé à cette solution avec le hash mais je gère pas flash pour vérifier les md5. @CyberSee ton idée ma l'air pas mal mais du coup je dois changer les headers php, en mettant "application/mp4" par exemple ? aussi l'utilisateur pourra toujours récupéré il aura juste a accédé à la vidéo par le lien et c'est tous, et faire enregistrer sous ? alors j'ai pensé à mettre un autre paramètre dans l'URL du genre : video.php?viewid=18&token=412dx893 Un token qui est généré pour une seule personne , et ce token une fois la page rechargée il est supprimé automatiquement et il est seulement valable que pour une seule session php, ça peut le faire a ton avis? EDIT : @Khaled merci de la protection, même si je m’étais déjà protégé contre ce genre de problème RE: Comment cachées les informations que contienne une variable ? - InstinctHack - 13-10-2012 oui wizout faut changer le header php, un token peut aussi etre utilisé, mais là ça fait un peu doublon je trouve. crée une table sql qui génère les token de façon pseudo-aléatoire et fait le lien entre le token et la vidéo avec laquelle il est rélié genre : |---------------|----------------------------------|-----------------------------| | Token | url interne de la vidéo | date de création | |---------------|----------------------------------|----------------------------| | 412dx893 | redtube.com/?v=123 | 87654678 | |---------------|-----------------------------------|---------------------------| et sur une page php tu récupère le $_GET['token'] tu le trouve et insère le contenu du lien (en local bien sur car protéger par un htaccess) puis tu fait un cron qui supprime les token while time()+(60*60)>date de création edit : fuck rtrim , mais c'est ça l'idée RE: Comment cachées les informations que contienne une variable ? - WizOut - 13-10-2012 |---------------|----------------------------------| | ID | Token | url interne de la vidéo | |---------------|----------------------------------| | 19 | 412dx893 | redtube.com/?v=123 | |---------------|-----------------------------------| Oui bah ça permet surtout de limité vraiment le partage , donc le token est un moyen sur pour moi, reste à sécurisé le tous, avec un cron. D'ou le fait du doublon ^^ double sécurité Mdrr khaled c'est fais exprès le coup de redtube ou tu sais exactement ce que je veux faire depuis le début ? si oui ça tourne très vite alors :o Merci de toute l'aide RE: Comment cachées les informations que contienne une variable ? - InstinctHack - 13-10-2012 viewid=18&token=412dx893 je trouve ça con :p un seul suffit et puis deux variables n'apportent pas plus de sécurité... redtube c'est juste le nom d'un site qui tourne souvent sur l'irc :> Et surtout je suis omniscient :p RE: Comment cachées les informations que contienne une variable ? - WizOut - 13-10-2012 Je sais que deux variables n'apportent pas plus de sécurité mais je trouve que c'est une meilleur organisation de faire ça dans un autre champ. Ah ok :p non car je fais un site dans le même genre, je le mettrais ici pour tester la sécurité je fais tous de zéro. Ah oui pendant que j'y pense faut t'il sécurisé une variable qui va recevoir des données qui lui son envoyé depuis un formulaire POST et celle là va devoir vérifier l'existence de ses données dans une table mysql (sachant que ceci est depuis une requête préparé) ? RE: Comment cachées les informations que contienne une variable ? - InstinctHack - 13-10-2012 requere préparé avec PDO, je pense que ça suffit RE: Comment cachées les informations que contienne une variable ? - WizOut - 13-10-2012 Yes ! merci je le savais bien , par contre pour les GET je vais bien me défoulé sur la sécurité en tous cas merci ! RE: Comment cachées les informations que contienne une variable ? - WizOut - 19-10-2012 J'ai un problème, avec mon fichier video.php, qui contiendra le header video/mp4 et qui affichera la video sous forme d'extension .php, j'ai mis le header mais je ne sais absolument comment lire une vidéo avec une extension .php quelqu'un peux m'éclairé ? RE: Comment cachées les informations que contienne une variable ? - supersnail - 20-10-2012 Bonjour, file_get__contents et echo peut-être RE: Comment cachées les informations que contienne une variable ? - WizOut - 20-10-2012 Merci supersnail ! Ça marche impec avec le file_get_contents. Par-contre c'est normal que ma vidéo qui dure 4 minutes même pas , est bien lue , et mon autre vidéo qui dure 40 minutes le navigateur n'arrive pas à la lire , pourtant elles sont du même format (ici mp4) ? Je pense que c'est un bug de mon player (QuickTime) , car sa met le logo avec point d'interrogation pourtant j'ai vérifié le header est bon , j'ai regardé dans les propriétés du fichiers.. RE: Comment cachées les informations que contienne une variable ? - InstinctHack - 20-10-2012 file_get_contents charge tous le contenu du fichier dans la ram. Donc imagine la vidéo de 40 min :/ utilise d'autres fonction : Code PHP : <?php |