ホームページ >バックエンド開発 >PHPチュートリアル >CentOS では、php は SQLCipher を通じて sqlite3 をコンパイルし、データベース暗号化をサポートします。

CentOS では、php は SQLCipher を通じて sqlite3 をコンパイルし、データベース暗号化をサポートします。

WBOY
WBOYオリジナル
2016-07-29 09:16:081569ブラウズ

最近、プロジェクトのニーズにより、サーバー側で生成された SQLite を暗号化する必要があります。サーバーのバックエンドは PHP で書かれており、オペレーティング システムは CentOS です。オープンソースの sqlite3 はデータベース暗号化インターフェイスを予約しています。 そこで、sqlite3では実装されていない暗号化機能を実装し、PHPのsqlite3拡張機能を再コンパイルすることでsqliteデータベース暗号化をサポートできるSQLCipherを見つけました

具体的な操作については、の手順を参照してください。公式ウェブサイト、アドレス: https://www.zetetic.net/sqlcipher/sqlcipher-for-php/

公式ウェブサイトの操作には、システムは Ubuntu を使用しています。ここで、対応するコマンドを に変換できます。 CentOS で使用されるものについては、公式 Web サイトを参照してください。 操作手順が完了すると、コンパイルが成功します。 sqlite3.so が生成されるので、以前のサーバーの sqlite3.so を直接置き換えます。 php 拡張子 (置き換える前にバックアップを作成することをお勧めします)。置き換えが完了したら、Apache サーバーを再起動し、

テストコードをテストします:

//test.sqlite ファイルを作成します。パスワードは 12345678、パラメータ 6 は、存在する場合は開き、存在しない場合は作成することを意味します。具体的な情報については、ソースの sqlite3.c を参照してください。関連する表示用のファイル

$db=new Sqlite3("test.sqlite",6,"12345678");

$db->exec("create table mytest (name varchar( 200) )");

$db->exec("挿入 mytest (名前) 値に ('aaaa')");


$result = $db->query('SELECT * FROM

mytest

');
print_f(

$result

); ?>

結果が出力できれば、sqlite3 が正常に再コンパイルされたことを意味します。ただし、生成されたデータベースが暗号化されているかどうかを確認する必要があります。生成された test.sqlite を使用できます。ツールを開こうとすると、通常、SQLite が正常に暗号化されたことを意味します。

ちなみに、Android と IOS をサポートする手順もあります。

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。 上記は、CentOS 上の php がデータベース暗号化をサポートするために SQLCipher を介して sqlite3 をコンパイルする方法を内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。