0

私は検索エンジンを作成し、zoken.co.ccオプションでサイトを手動で送信し、ファイル populate.php をダウンロードしました。 populate.php を他の ftp にアップロードし、データベース内のインデックス自体を開きます。

例:www.abc.com検索エンジンにサイトを送信したいサイトがあり、自動送信を選択してファイルをダウンロードし ( populate.php)、ftp サーバーにアップロードしました。そしてページを開くwww.abc.com/populate.php。次に、ページが表示され、持っていました

Warning: mysql_connect() [function.mysql-connect]: Host '10.1.1.27' is not allowed to connect to this MySQL server in /home/a1091216/public_html/populate.php on line 10

ERROR: Could not connect to database    

彼と私の FTP サーバーが異なることはわかっていますが、保存できますか。

4

2 に答える 2

1

これは、リモートサーバーがそのユーザー名を使用してデータベースサーバーに接続することを許可されていないためです。からの接続を許可するようにデータベースユーザーを設定できます%。これは、「このユーザー名でログインするユーザーは、任意のホストからデータベースサーバーに接続できる」ことを意味します。

他の人のサーバーでPHPスクリプトを実行することは本当に重要ですか?私は次の問題を見ることができます:

  • ユーザーはPHPスクリプトを信頼せず、送信しないことになります。

  • ユーザーがサーバーにPHPをインストールしていないか、ASPを使用して構築されたサイトにサービスを提供するサーバーを実行しているため、PHPスクリプトが使用できなくなります。

  • PHPファイルには、データベースのユーザー名とパスワードが含まれます。ウェブマスターがPHPファイルからこれらを取得してデータベースを混乱させないというのは誰ですか(ユーザーアカウントが1つのテーブルからの読み取り/書き込みのみを許可されている場合でも)。

もし私があなたなら、ランダムな文字列が入ったテキストファイルをダウンロードさせます。提出したサイトのルートにこれをアップロードするように依頼します。次に、5分ごとに(サイトが確認済みとしてマークされるまで)、サーバーを停止し、CURLを使用してサイトからテキストファイルを取得します。内部のランダムな文字列を確認してから、データベースにデータを入力します。

于 2012-07-06T06:27:03.863 に答える
0

はい、その接続を要求するスクリプトが別のサーバーから来ている場合、あるサーバーに配置されているmysqlデータベースに接続することは可能です..
最初に、ホスト mysql サーバーのネットワークがオンになっており、ファイアウォールでポート 3306 (番号だと思います) が開いていることを確認します。デフォルトでは両方ともオフになっていると思います。
個人的には、私はこれを行うことに非常に懐疑的です。mysql をインターネットに公開したままにしておくと、非常に不快になります。これを行うためのより良い方法を試してみることをお勧めします。

読み直して、もっと明確にすべきだと気づきました。my.cnf (mysql 構成ファイル、おそらく /etc にあります) には、networking=no や skip-networking; のような変数があります。詳細は忘れました。とにかく、ネットワークを有効にするように設定する必要があり、その後 mysqld を再起動する必要があります。

于 2012-07-06T06:31:57.767 に答える