2010-07-24 5 views
2

comment puis-je convaincre mon client que extjs est sûr à utiliser ??? Comment puis-je assurer ma programmation est sûr dans extjs-3.x, de sorte que les données ne pas entrer dans de mauvaises mains ou ne peut pas être piraté ou si quelqu'un télécharge mon site Web javascript par un outil sur le bureau comment vais-je le faire pas couru et beaucoup plus ??? comme injection sqlProblème de sécurité d'extjs

+0

@Robert Merci de ne pas éditer des questions hors sujet si anciennes. –

Répondre

12

La recommandation de livre de bmoeskau a l'air bien. Je n'étais pas au courant de ce titre, mais je pense que je vais l'acheter. En s'appuyant sur la deuxième partie de sa réponse, vous voudrez vous assurer que vous comprenez parfaitement ce que vous faites. S'il vous plaît ne vous offusquez pas, mais votre question suggère que vous n'avez pas une compréhension très complète de la façon dont ces types d'applications fonctionnent.

Dans toute application Web, vous ne pouvez pas faire confiance au client. Peu importe si le client est un simple HTML, un type de DHTML AJAXified, une application entièrement pilotée par ExtJS, un film Flash ou une application de bureau native. Ce sont tous des clients, et ils sont tous trivialement corruptibles.

Votre côté serveur est l'endroit où vous vous défendez. Toujours. Aucune exception. Déjà.

Inquiet de l'injection SQL (comme vous devriez l'être)? - Protégez-le contre le serveur. (Si vous écrivez du code client qui crée du SQL et l'envoie au serveur, vous êtes certainement très, très mauvais).

Vous devez vous assurer que seuls certains utilisateurs voient/touchent certaines données? - Vous avez besoin d'un cadre solide d'authentification/autorisation sur le serveur.

Vous devriez également vous inquiéter de CSRF - Encore une fois, l'architecture côté serveur doit se protéger contre cela.

Toute personne utilisant votre application aura tout votre code Javascript sur sa machine locale. C'est une réalité de la vie. Et c'est exactement pourquoi vous ne faites jamais confiance au client.

Presque toutes les vulnérabilités pouvant affecter une application basée sur ExtJS peuvent également affecter n'importe quelle autre application. Donc, vous pouvez dire à votre client que ExtJS n'est pas plus ou moins sécurisé que toute autre technologie côté client. C'est parce que la sécurité est le travail du code côté serveur, et non le client.

Pour éviter ces vulnérabilités, vous devez lire, comprendre et écrire votre code attentivement. Peu importe les bibliothèques ou les technologies que vous utilisez.

5

Je recommande fortement this book. Votre sécurité a très peu à voir avec le framework JS que vous choisissez, et presque tout ce qui concerne les pratiques que vous, le programmeur, suivez dans vos applications.

2

Une réponse du forum ExtJs sencha, donne une réponse généralisée pour tout framework JS.

Le code côté client, comme vous l'avez souligné, peut (un peu) facilement être manipulé en utilisant Firebug ou un autre outil de débogage. Il n'y a pas une seule chose que vous pouvez faire à ce sujet.

Rechercher sur les forums pour d'autres sujets comme celui-ci ... il a été discuté environ 1000 fois.

En ce qui concerne vos points:

1) Comme je viens de le dire, il n'y a aucun moyen d'empêcher l'utilisateur de modifier le code déjà rendu à la page (ou la modification de la réponse du serveur). Vous avez seulement la possibilité de (a) ne charger aucun code auquel l'utilisateur ne devrait pas avoir accès, et (b) assurez-vous que SI l'utilisateur est assez intelligent pour pirater l'interface utilisateur que votre couche serveur a la sécurité nécessaire en place.

Ce n'est pas la faille du code de Sencha ... c'est un trou de sécurité béant dans toutes les applications Web. 2) Encore une fois, vous avez indiqué que vous pouvez réduire/masquer votre code ... mais si le navigateur peut le lire, vos utilisateurs peuvent le voir aussi. Pas une chose que vous pouvez faire à ce sujet.

3) XSS n'a rien à voir avec les frameworks Sencha. C'est une vulnérabilité que n'importe quelle page Web peut avoir ... c'est à la sécurité de votre serveur d'empêcher le code malveillant d'entrer dans votre base de données.

4) Plus de la même chose. Si l'utilisateur peut manipuler le code côté client à tout moment, rien ne l'empêche d'injecter des données de merde dans la requête. J'ai déjà dit cela un million de fois déjà (ici et des messages similaires) - le client est intrinsèquement non sécurisé. Cela ne va pas changer pendant très longtemps, et n'a rien à voir avec ExtJS. Vous auriez exactement le même problème avec jQuery, Dojo ou tout autre outil.

Questions connexes