2016-04-02 20 views
0

Uzaktaki bir veritabanına localhost'umdan bağlanmak istiyorum, ancak uzak DB yalnızca beyaz listedeki IP'lerden bağlantılara izin veriyor.MySQL vekil aracılığıyla bağlan php

ISP'mden dinamik bir IP üzerinde olduğum için, ev IP'mizin beyaz listeye alınmasını sağlayamam çünkü yalnızca bir daha değişecektir.

Tam kök erişimi olan bir VPS ve beyaz listede bulunan sabit bir IP var.

İstediğim olduğunu için:

  • çalıştırın benim VPS aracılığıyla benim yerel makinede uzak veritabanına
  • Bağlan Bir php komut
  • işleme için geri yerel makineye sorgu sonuçlar alın

Bunu nasıl yaparım?

cevap

0

Çözmeniz gereken önemli sorun, beyaz listeye ekleyebileceğiniz statik bir IP adresine sahip bir ana bilgisayar bulmaktır. Bu problemi zaten çözdüğünü söylüyorsun. Ancak ne işletim sisteminin vps'de ne de müşteri üzerinde çalıştığından bahsetmediniz. Her ikisi de Linux ise, bunu sadece iptables ile yapabilirsiniz. Eğer ikisi ya da ikisi de mswindows ise, o zaman socat kullanabilirdiniz, ama eğer ben olsaydım, istemci ile proxy arasında bir stunnel bağlantısı ile giderdim (sunucudaki beyaz liste sadece mysql bağlantısına uygulanırsa, sonlandırabilirsiniz) İstemci sertifikası kimlik doğrulaması veya SSH tüneli kullanarak sunucudaki stunnel bağlantısı ve proxy'yi tamamen atla).

1

Herhangi bir IP adresinden rastgele SQL ifadeleri yürütmek için bir PHP proxy'si kullanmak gerçekten tehlikelidir. SQL ifadelerini bir API'ye aktarabilmenizi öneririm, böylece herhangi bir sorguya izin vermek yerine, belirli verileri almak veya belirli verileri güncellemek için belirli bir sorgu kümesine sınırlarsınız. Yerel makineniz daha sonra bilgileri almak veya güncellemek için bu API'yi arayabilir.

+0

Biliyorum, asla kendim yapmam, ama müşterim tam olarak bunu yapan bir bulut çözümü kullanıyordu. – Pjottur