La dernière fois, à partir des commentaires, il s'est avéré mettre en évidence deux problèmes spécifiques du projet, dont beaucoup grâce à des utilisateurs indifférents. Le premier problème est l'absence de certificat SSL sur le site. Et deuxièmement, divulguer des mots de passe d'accès à quelqu'un d'autre est une idée extrêmement douteuse.
La solution au premier problème est purement technique - l'installation d'un certificat gratuit ne pose pas beaucoup de difficultés.
Mais la solution au deuxième problème - exclure la divulgation des paramètres de connexion à votre base de données - est la question.
Permettez-moi de vous rappeler que l'essence du projet est un client en ligne pour la base de données mysql. La question clé - la connexion à la base de données, pose immédiatement plusieurs difficultés:
- Divulgation des paramètres de connexion à la base de données;
- Même si les paramètres sont divulgués, vous ne pouvez pas vous connecter en raison de restrictions administratives, par exemple, seul l'accès local à la base de données est autorisé.
Dans cette situation, une contradiction technique (TP) est découpée sur le visage dans le système triz. Il est nécessaire de divulguer des paramètres pour se connecter, mais en même temps, il est impossible de divulguer des paramètres pour la sécurité. De plus, la divulgation des paramètres ne résout pas la deuxième complexité - la présence de restrictions administratives.
En trize, l'une de mes méthodes préférées est la méthode du résultat final idéal (RBI). C'est la méthode la plus forte qui permet aux gens qui n'ont pas peur de penser que cela semble absurde, mais c'est elle qui nous permet parfois d'atteindre les résultats souhaités, où il semblerait que ce ne soit pas du tout possible.
Donc, dans un triz, je peux mentalement renverser la tâche. Et commencez à résoudre le problème de l'autre côté.
- Ça l'était. Le site souhaite se connecter à votre base de données interne privée, et souhaite le faire sans divulguer les mots de passe d'accès (résultat final idéal).
- Et si vice versa. La base de données elle-même souhaite se connecter à un site tiers, mais ne peut pas le faire en raison de restrictions administratives.
D'une part, ça s'est avéré être une chanson (tu es sur terre, je suis en mer ... on ne peut pas se rencontrer en aucune façon). D'un autre côté, il y a deux forces qui veulent se rencontrer, mais ne peuvent pas le faire.
Il semblerait quelle terre, quelle mer? Et voici la base de données et le serveur. Mais attendez. Nous savons tous qu'il arrive souvent qu'une fille aime un garçon et vice versa la même fille aime ce garçon. Ils ont peur de faire un pas l'un vers l'autre. Je ne peux pas le faire moi-même. Ce n'est pas possible. Mais soudain, une petite amie commune apparaît soudainement. Une copine présente et rassemble deux choses timides. Et puis tout se révèle en quelque sorte.
Il est important de noter ici que l'émergence d'une troisième force est indispensable. Tout comme dans un triz - vous devez entrer une troisième force dans le système (un système à deux forces est considéré comme incomplet) et terminer le triangle. Le procureur a agi comme une troisième force et a amené le garçon et la fille.
Un autre exemple de la politique. Il y a l'Allemagne qui veut acheter du carburant moins cher. Il y a l'Iran qui veut vendre du carburant à l'Allemagne. Mais l'Allemagne a une stricte restriction administrative sur l'approvisionnement en carburant en provenance d'Iran. Nous terminons le système de deux forces en un triangle complet. Nous introduisons la troisième force - c'est la Russie. Qui peut interagir avec l'Allemagne et l'Iran. En conséquence, l'Allemagne interagit parfaitement avec l'Iran, grâce aux transports représentés par la Russie.
Il faut donc une troisième force. Nous poussons la troisième force dans un système incomplet à partir de la base de données et du client. Nous utiliserons un certain conducteur comme moyen de transport, qui remplira le rôle de transmission (le mot ici est certainement grossier, mais tout à fait approprié, si vous ne vous concentrez pas sur l'impolitesse).
Nous listons les exigences pour notre chauffeur-transport. En fait, il n'y a que deux exigences:
- Il doit interagir sans restrictions avec le client et la base de données, agissant comme un transport
- Doit pouvoir se connecter à la base de données
Regardons la première exigence. Deux forces ont besoin de la même chose. À savoir: vous devez envoyer des demandes et recevoir en retour un ensemble de données à afficher. Naturellement, Internet est utilisé comme canal de transmission de données.
Examinons la deuxième exigence. La connexion à la base de données n'est possible que du côté de la base de données et rien d'autre. Le pilote doit donc être situé sur le côté de la base de données ou pouvoir s'y connecter, en tenant compte des restrictions administratives. Quelle est généralement la valeur par défaut, peut-être. mysql est utilisé pour les applications Web.
Compte tenu des exigences ci-dessus, il s'avère qu'il me suffit d'écrire un traducteur de script simple de requêtes dans la base de données et de renvoyer les résultats sous forme de tableau de chaînes. Et placez-le quelque part du côté de la base de données. Je prends php parce que je peux et écris littéralement vingt lignes.
Code
header('Content-Type: text/html; charset=utf-8');
Voici un pilote si simple. Maintenant, ce script doit être placé quelque part sur votre site dans un endroit arbitraire. Et enregistrez ce pilote sur le client -
dataincrement.com en spécifiant une connexion à sa base de données.
Ainsi, il s'est avéré se connecter à la base de données sans divulguer les paramètres de connexion en principe. Et contourner également les restrictions administratives. De plus, le pilote s'est avéré si simple et compréhensible qu'il peut être facilement modifié à volonté et implémenté indépendamment dans une autre langue, si nécessaire. Par exemple, vous pouvez ajouter un historique de requête ou restreindre l'accès uniquement à partir de certaines adresses IP littéralement sur quelques lignes supplémentaires.
Conclusion
Dans cet exemple, j'ai essayé de montrer la force du trize pour résoudre des contradictions apparemment paradoxales. Je crois que le bon sens et les constructions logiques sur lesquelles repose le trize et la science de la logique devraient tôt ou tard supplanter la domination des ecclésiastiques, des évangélistes et des propagandistes locaux. Pour qui ni l'entreprise n'est la mission, ni le projet, la foi en tout bon contre tout mauvais.