• ベストアンサー

SQLite

自宅サーバを立ち上げてandroid用の動画配信やってみたいのですが、 自宅サーバのpublicにSQliteファイルをおいて、クライアントアプリからクエリを叩くってできますか?やり方としては普通ですか? サーバ、SQliteの知識はほとんどないのでこのような運用でいいのか迷ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

 意外と回答が付かないようなので、基本的な操作しか知らないのですが、助言差し上げます。  まず、クライアント側で作ったSQLコマンド文字列を、直接sqlite_query( )命令に埋め込むことは可能です。しかし、もしこのPHPファイルの仕組みを悪用する相手が、DROP TABLE コマンドをくっつけて呼び出してきたら、データベースが壊されてしまうでしょう。また勝手に )で閉じてめちゃくちゃなhtmlタグを入れると、好き勝手なPHPコマンドを割り込まされる可能性もあります。これは大変なセキュリティホールになってしまいます。クロスサイトスクリプティング攻撃もしくはSQLインジェクション攻撃を調べてみて下さい。  その対策としては、htmlspecialchars()関数やstripcslashes()関数などで受け取った文字列を置き換えて、勝手なプログラム動作が起きないようにします。  思惑の画像ファイル抽出をしたければ、必要な変数(ファイル名の一部、ファイルサイズ上限、ファイルの日付範囲、ファイル形式など)のみをフォームから受け付け、クエリ文字列やヘッダ情報として受け渡して、文字列をチェックした後に、PHPプログラム中で生成するSQL文の中に組み込み、sqlite_query()命令で実行させる手順をとるべきです。

関連するQ&A