Sicheres Senden von Daten aus einem gemeinsam genutzten gehosteten PHP-Skript an lokales MSSQL

8

Ich versuche, Daten von einem Webhook (von einem Web Cart) zu einem lokalen Microsoft SQL Server hinzuzufügen. Es scheint mir der beste Weg zu sein, ein PHP-Skript zu verwenden, um nach neuen Daten zu suchen (POST als json), sie zu analysieren und dann abzufragen, um sie zu MSSQL hinzuzufügen.

Ich bin nicht mit der Sicherheit in Bezug auf die Verbindung zwischen dem PHP-Skript (das sich auf einer Shared-Host-Website befinden würde) und der lokalen MSSQL-Datenbank vertraut. Ich würde nur das PHP-Skript auf demselben lokalen Host laufen lassen (Apache unter Windows laufen lassen), aber der URI für den Webhook muss öffentlich zugänglich sein.

Alternativ gehe ich davon aus, dass ich einfach ein Skript vom localhost planen könnte, um regelmäßig über die Web Carts-API nach Updates zu suchen, obwohl die Webhooks für einen Amateurprogrammierer wie mich narrensicherer zu sein scheinen.

Welche Schritte kann ich unternehmen, um die Sicherheit zu gewährleisten, wenn ich PHP auf einem Remote-Host mit gemeinsam genutztem Host verwende, um eine Verbindung zu MSSQL auf meinem lokalen Computer herzustellen?

Lebensstuhl
quelle
Warum nicht, host the PHP script on your localhostwenn Sie MSSQLlokal hosten können ?
Manoj Purohit
Es wäre aus vielen Gründen ideal, es auf dem lokalen Host zu belassen. Ich hatte gehofft, einen verfügbaren Webhook zu verwenden, damit der Datenabruf automatisch erfolgt und auch nicht geklärt werden muss, was neu ist (der Webhook schiebt ein JSON-Dokument nur von dem, was sein würde Der neue SQL-Datensatz. Nach dem, was ich gesehen habe, muss ein Webhook an eine über das Internet zugängliche Adresse gerichtet sein (nicht auf localhost).
lifeofchair
Ich sage nicht localhost without web. Ich wollte damit sagen, dass Sie Ihren lokalen Apache-Server genauso online stellen können, wie Sie Ihr MSSQL für ein Online-PHP-Skript zugänglich machen. Ist dies nicht der Fall ist , dann Wie zugreifen Sie Ihren lokalen MSSQLin php script hosted on shared hosting server.
Manoj Purohit
Aha. Das würde bedeuten, Port 80 zu öffnen und den Webhook auf die externe IP des lokalen Hosts zu richten, richtig? Ich nehme an, das könnte auch funktionieren, aber ich bin mit Sicherheitsproblemen, die damit verbunden sind, ebenso wenig vertraut. Ich hatte das Gefühl, dass ich MSSQL sicherer (oder zumindest einfacher zu sichern) verbinden könnte, da Anmeldeinformationen vorhanden sind, aber ich kann mich irren.
Lifeofchair
correct, keine Sicherheitsprobleme damit, da Sie die URL nirgendwo anders veröffentlichen werden. Falls erforderlich, blockieren Sie alle eingehenden HTTP-Anforderungen mit Ausnahme dieser bestimmten Domäne.
Manoj Purohit

Antworten:

1

Ich bin mit den Kommentaren zu Ihrer Frage nicht einverstanden, insbesondere zur Sicherheit. Ihr Ansatz mit einem PHP-Skript ist gültig, aber Sie benötigen einen Tunnel, um es richtig zu machen.

Möchten Sie Ihre Datenpakete in Bezug auf die Sicherheit wirklich für Personen öffnen, die schnüffeln? Da die NSA da draußen ist und die meisten Router abfangen können, wäre ich vorsichtig.

Ich würde mich für openVPN entscheiden, das einfach einzurichten ist, und dann Ihre lokale Instanz immer mit einer openVPN-Verbindung verbinden, damit Ihre Daten sicher sind. Dies ist möglicherweise auf Ihrem "freigegebenen" Server verfügbar oder nicht. Dies ist also eine Überlegung.

Ehrlich gesagt können Sie mit schlüsselfertiger Software eine Micro-Centos-Instanz bei Amazon einrichten und die openVPN-Installation selbst durchführen. Nicht zu schwer, aber Sie müssen etwas Systemmanagement lernen.

Ligemer
quelle