Letztes Mal stellte sich aus den Kommentaren heraus, dass zwei spezifische Probleme des Projekts herausgearbeitet wurden, wofür viele dank gleichgültiger Benutzer. Das erste Problem ist das Fehlen eines SSL-Zertifikats auf der Site. Und zweitens ist es äußerst zweifelhaft, Zugangskennwörter an andere weiterzugeben.
Die Lösung für das erste Problem ist rein technisch - die Installation eines kostenlosen Zertifikats verursacht keine großen Schwierigkeiten.
Die Lösung für das zweite Problem - die Offenlegung der Einstellungen für die Verbindung mit Ihrer Datenbank auszuschließen - ist jedoch die Frage.
Ich möchte Sie daran erinnern, dass das Wesentliche des Projekts ein Online-Client für die MySQL-Datenbank ist. Die Schlüsselfrage - das Herstellen einer Verbindung zur Datenbank - verursacht sofort mehrere Schwierigkeiten:
- Offenlegung von Datenbankverbindungsparametern;
- Selbst wenn die Parameter angegeben werden, ist es keine Tatsache, dass Sie aufgrund administrativer Einschränkungen eine Verbindung herstellen können. Beispielsweise ist nur lokaler Zugriff auf die Datenbank zulässig.
In dieser Situation wird im Triz-System ein technischer Widerspruch (TP) auf dem Gesicht herausgeschnitten. Es ist notwendig, Parameter offenzulegen, um eine Verbindung herzustellen, aber gleichzeitig ist es unmöglich, Parameter aus Sicherheitsgründen offenzulegen. Darüber hinaus löst die Offenlegung von Parametern nicht die zweite Komplexität - das Vorhandensein administrativer Einschränkungen.
In trize ist eine meiner Lieblingsmethoden die Ideal Final Result (RBI) -Methode. Dies ist die stärkste Methode, mit der Menschen, die keine Angst haben zu glauben, dass dies absurd erscheint, aber manchmal die gewünschten Ergebnisse erzielen können, bei denen dies anscheinend überhaupt nicht möglich ist.
In einem Triz kann ich die Aufgabe also mental auf den Kopf stellen. Und lösen Sie das Problem am anderen Ende.
- Es war. Die Site möchte eine Verbindung zu Ihrer privaten internen Datenbank herstellen und dies tun, ohne Zugriffskennwörter preiszugeben (ideales Endergebnis).
- Und wenn umgekehrt. Die Datenbank selbst möchte eine Verbindung zu einer Site eines Drittanbieters herstellen, kann dies jedoch aufgrund administrativer Einschränkungen nicht.
Einerseits stellte sich heraus, dass es sich um ein Lied handelte (du bist an Land, ich bin auf See ... wir können uns in keiner Weise treffen). Auf der anderen Seite gibt es zwei Kräfte, die sich treffen wollen, dies aber nicht können.
Es scheint, welches Land, welches Meer? Und hier die Datenbank und der Server. Aber warte. Wir alle wissen, dass es oft vorkommt, dass ein Mädchen einen Jungen mag und umgekehrt dasselbe Mädchen diesen Jungen mag. Sie haben Angst, einen Schritt aufeinander zuzugehen. Ich kann es nicht selbst machen. Es ist unmöglich. Aber dann taucht plötzlich eine gemeinsame Freundin auf. Eine Freundin stellt zwei schüchterne Dinge vor und bringt sie zusammen. Und dann stellt sich alles von selbst irgendwie heraus.
Hierbei ist zu beachten, dass man nicht auf das Auftreten einer dritten Kraft verzichten kann. Genau wie bei einem Triz müssen Sie eine dritte Kraft in das System eingeben (ein System mit zwei Kräften wird als unvollständig angesehen) und das Dreieck beenden. Der Staatsanwalt fungierte als dritte Kraft und brachte den Jungen und das Mädchen.
Ein weiteres Beispiel aus der Politik. Es gibt Deutschland, das billigeren Kraftstoff kaufen will. Es gibt den Iran, der Treibstoff nach Deutschland verkaufen will. Deutschland hat jedoch eine strenge administrative Beschränkung für die Kraftstoffversorgung aus dem Iran. Wir beenden das System zweier Kräfte zu einem vollständigen Dreieck. Wir führen die dritte Kraft ein - das ist Russland. Welches kann sowohl mit Deutschland als auch mit dem Iran interagieren. Infolgedessen interagiert Deutschland durch den von Russland vertretenen Verkehr perfekt mit dem Iran.
Es wird also eine dritte Kraft benötigt. Wir treiben die dritte Kraft aus der Datenbank und dem Client in ein unvollständiges System. Wir werden einen bestimmten Fahrer als Transportmittel verwenden, das die Rolle des Sendens erfüllt (das Wort hier ist sicherlich unhöflich, aber durchaus angemessen, wenn Sie sich nicht auf Unhöflichkeit konzentrieren).
Wir listen die Anforderungen für unseren Fahrertransport auf. Tatsächlich gibt es nur zwei Anforderungen:
- Es sollte ohne Einschränkungen sowohl mit dem Client als auch mit der Datenbank interagieren und als Transportmittel fungieren
- Muss in der Lage sein, eine Verbindung zur Datenbank herzustellen
Schauen wir uns die erste Anforderung an. Zwei Kräfte brauchen dasselbe. Nämlich: Sie müssen Anfragen senden und im Gegenzug einen Datensatz zur Anzeige erhalten. Natürlich wird das Internet als Datenübertragungskanal verwendet.
Schauen wir uns die zweite Anforderung an. Eine Verbindung zur Datenbank ist nur auf der Datenbankseite und sonst nichts möglich. Der Treiber muss sich also auf der Seite der Datenbank befinden oder unter Berücksichtigung administrativer Einschränkungen eine Verbindung herstellen können. Was ist normalerweise die Standardeinstellung? MySQL wird für Webanwendungen verwendet.
Angesichts der oben genannten Anforderungen ist es für mich ausreichend, einen einfachen Skriptübersetzer für Abfragen in die Datenbank zu schreiben und die Ergebnisse als Array von Zeichenfolgen zurückzugeben. Und platzieren Sie es irgendwo auf der Datenbankseite. Ich nehme PHP, weil ich kann und schreibe buchstäblich zwanzig Zeilen.
Code
header('Content-Type: text/html; charset=utf-8');
Hier ist so ein einfacher Treiber. Jetzt muss dieses Skript an einer beliebigen Stelle irgendwo auf Ihrer Site platziert werden. Registrieren Sie diesen Treiber auf dem Client -
dataincrement.com und geben Sie ihn als Verbindung zu seiner Datenbank an.
Es stellte sich daher heraus, dass eine Verbindung zur Datenbank hergestellt wurde, ohne dass die Verbindungsparameter im Prinzip angegeben wurden. Und auch administrative Einschränkungen umgehen. Darüber hinaus erwies sich der Treiber als so einfach und verständlich, dass er leicht nach Belieben geändert und bei Bedarf unabhängig in einer anderen Sprache implementiert werden kann. Beispielsweise können Sie einen Abfrageverlauf hinzufügen oder den Zugriff nur von bestimmten IP-Adressen in einigen zusätzlichen Zeilen buchstäblich einschränken.
Fazit
In diesem Beispiel habe ich versucht, die Stärke des Trize bei der Lösung scheinbar paradoxer Widersprüche zu zeigen. Ich glaube, dass der gesunde Menschenverstand und die logischen Konstruktionen, auf denen der Trize basiert, und die Wissenschaft der Logik früher oder später die Dominanz einheimischer Kirchenmänner, Evangelisten und Propagandisten ersetzen sollten. Für wen weder Geschäft Mission noch Projekt Vertrauen in alles Gute gegen alles Schlechte ist.