2012-07-15 3 views
3

원격 mysql DB에 PHP 스크립트를 사용하여 로그인을 시도하고 있습니다.PHP를 사용하여 원격 mysql 연결

DB는 원격 연결을 위해 열려 있습니다. 내 집 PC에서 mysql admininstrator prog 또는 openoffice (ODBC)를 사용하여 연결할 수 있습니다.

일부 웹 호스트에서 서로 다른 두 계정의 스크립트를 실행했지만 성공하지 못하면 DB와는 다른 스크립트를 실행 해 보았습니다.

또한 스크립트는이 두 계정 중 하나에서 다른 계정의 DB로 연결되지 않습니다.

스크립트를 호스팅하는 서버의 PHP 설정이 DB가 동일한 웹 호스트로 호스팅되는 경우에도 원격 DB에 연결할 수 없습니다. 스크립트가 시간 초과됩니다.

모든 아이디어를

+5

귀하의 웹 호스트에 연락하겠습니다. –

+0

보안 관점에서 나가는 연결이 차단된다는 것은 Daniel White의 의견을 참조하십시오. – Arend

답변

1

난 잘 모르겠지만, SQL safe mode라는 것이 있습니다. 그러면 'localhost : 3306'이 항상 서버로 사용되어 connect이됩니다.

@ 대니얼이 맞습니다. 호스트에 문의하거나이 구성 값이 phpinfo에 설정되어 있는지 확인해야합니다.

+0

공동 주관자가 저에게 돌아 오기를 기다리고 있지만 그 사이에 sql.safe 모드가 꺼져 있는지 확인했습니다. – Ian

+0

workarround는 MySQL 서버의 PHP에서 고유 한 API를 작성합니다. 따라서 연결하려는 mysql 서버가 물리적으로 포함 된 서버에는 API 코드가 있어야합니다. 다른 PHP 서버에서 어떤 종류의 액세스 토큰을 사용하여 Curl 요청을 할 수 있습니다. – RTB

+0

@lan 내 anwser 도움이 다른 사람들이 그것을 배울 수 있도록 그것을 받아 주시기 바랍니다. 만약 내가 당신을 더 멀리 도울 수 없다면? – RTB

2

DB를 원격 연결

그럼 당신이있어 큰 보안 문제에 대한 열려 있습니다. 데이터베이스는 이 아니며은 인터넷에 직접 노출되어 있어야합니다. 실제로 ISR은 MySQL mariaDB 및 Perconawhich에 영향을주는 최근의 취약점을 쉽게 악용 할 수 있습니다.

가정에서 연결할 수 있다는 것은 호스트 허용 목록이 없다는 것을 의미하지만, 연결에 실패한 시스템에 라우팅 문제가 있거나 해당 액세스를 차단하도록 방화벽이 구성되어 있음을 나타냅니다. PHP 설정과 관련이없는 것은 거의 없습니다.

일단 대상 DB에 대한 원격 액세스를 사용하지 않도록 설정하면 문제를 해결하는 올바른 방법은 VPN 또는 SSL 포트 터널을 사용하는 것입니다.

+0

원격 연결은 실제로 매우 유용합니다. 하나의 데이터베이스를 여러 애플리케이션에 사용할 수 있지만 매우 유용합니다. 물론 위험합니다.하지만 설정을 올바르게 구성하면 (처음에는 허용 된 사이트 목록) 위험이 없습니다. –

+0

네, 위험합니다 : http://www.theregister.co.uk/2012/06/11/mysql_mariadb_password_flaw/ – symcbean

5

시도 SQLyog.

HTTP Tunneling을 사용하면 기본적으로 하나의 PHP 파일을 폴더 루트에 복사하고 데이터베이스 자격 증명을 사용합니다.

enter image description here

또한 내가 SQLyog에 같은 터널링 기능을 가진 무료 소프트웨어가 확신 퍼티 http://oldsite.precedence.co.uk/nc/putty.html

와 같은 일을 시도 할 수 있습니다.

+0

정말 멋지고 간단합니다! – PHP

관련 문제