0

タイトルをより適切に表現する方法がわからない。

PHP 経由で VPS 上の MySQL データベースに接続する iOS ゲームがあります。現在、サーバー側のことはあまりわかっていませんが、すべてが機能し、ゲームがリリースされ、人々がスコアを更新できるようになりました。

問題は、すべてを機能させる唯一の方法が、ゲーム ディレクトリを public_html ディレクトリに配置することだったことです。これは、ブラウザに www.ourwebsitename/gamefoldername と入力すると、そのフォルダのインデックスが取得されることを意味します。そこにあるフォルダの 1 つをクリックすると、実際にはデータベース内のすべてのデータを含むテーブルが返されますが、これは明らかに安全ではありません。

このディレクトリを非公開にする方法はありますか?もしそうなら、サーバーに接続しようとしたときにアプリにどのような影響がありますか?

4

3 に答える 3

3

これを防ぐ方法はたくさんあります:

一部を以下に示します。

1) このフォルダとすべてのフォルダ www.ourwebsitename/gamefoldername に index.php を配置すると、このファイルは、この URL を提供するユーザーをメイン/ログイン ページにリダイレクトする必要があります。これは単純ですが、優れた方法ではありません。

2) を使用します。ht アクセス ファイルhttp://www.htaccess-guide.com/redirects/。詳細はこちらからどうぞ。

于 2012-12-21T12:43:10.747 に答える
1

フォルダーを非公開にすると、アプリはページにアクセスするために認証を提供する必要があります。多くの Web サーバーには、フォルダーに組み込みのプライバシー オプションが用意されています (.htaccessファイルを使用してフォルダーの内容を非表示にすることから始めます)。このデータを保護するためにどれだけの労力を費やすかは、時間と開発者としてのスキルによってのみ制限されます。

保持しているデータがそれほど価値がない場合は、データベースにサービスを提供する PHP ファイルの先頭に単純な条件if( $_POST["auth"] != XXXXX )(または を使用できます) を配置し、アプリケーションで HTTP リクエストを変更して提供することを止めるものは何もありません。GETリクエストを行うときにキーを言いました。

于 2012-12-21T12:45:14.223 に答える
1

アプリが通常の http リクエストを介してサーバーにアクセスする場合、ブラウザから誰でも同じことができることを意味します。

すべてのページがログイン システムの背後にあることを確認する必要があります。これにより、認証されたユーザーのみがアプリ自体から実行できることを実行する権限を持ちます。

サーバー側のことをよく知らない場合は、これが最も簡単な方法のように思えます。

于 2012-12-21T12:41:14.460 に答える