sql >> データベース >  >> RDS >> Mysql

MySQLで署名を保存する方法

    リレーショナルデータベース管理システム(RDBMS)は、リレーショナルモデルスキームに基づいてデータベースを作成および管理するために使用されるサービスまたはソフトウェアです。 オープンソースとして定義できます リレーショナルデータベース クライアントサーバーモデルを使用した管理システム(RDBMS) 。

    注: MySQLの理解を深めるために、この記事全体で使用されている重要な用語のいくつかが定義されています。以下は、あなたが精通する必要がある重要な用語の鮮明な説明です:

    • データベース; これは整理されたデータのコレクションです。データを整理して保存する場所です。リレーショナルという用語は、格納されているデータがいくつかの方法で相互に関連するテーブルに編成されていることを意味します。ソフトウェアがリレーショナルデータモデルをサポートしていない場合、それはデータベース管理システム( DBMS)と呼ばれます。 。
    • オープンソース: 簡単に言えば無料のものと言えますし、それを取得するためにお金を払ったり、請求したりすることはできません。また、ソフトウェアに関しては、オープンソースとは、現在のユーザーが制限なしにそれを自由に使用および変更できることを意味します。ほとんどの場合、オープンソースソフトウェアには複雑なインストール手順が含まれていないため、簡単にインストールできます。さらに、オープンソースのソースコードを使用している開発者は、元のコードを用途に合わせてカスタマイズし、ニーズや好みに対応する余地があります。
    • クライアントサーバーモデル: RDBMSソフトウェアをインストールして実行できるコンピューターは、クライアントと呼ばれます。 RDBMSサーバーに接続してデータにアクセスします。このタイプのコンピューターでは、中央サーバーは、ネットワークに接続された複数の異なるワークステーションにデータを分散する必要があります。

    MySQLは、MariaDBと並んで最も人気のあるリレーショナルデータベース管理システム(RDBMS)の1つです。 Twitter、YouTube、Facebook、Google、YahooなどのWebアプリケーションによるデータストレージに使用されます。 MySQLは、Linux、macOS、Microsoft Windows、およびUbuntuと互換性があります。

    注: MySQLはCおよびC++プログラミング言語で書かれています。

    MySQLのしくみ

    1台または2台のコンピューター(クライアント)が同じネットワークを使用してサーバーに接続します。各クライアントは、モニターのグラフィカルユーザーインターフェイス(GUI)から要求を行い、サーバーは、両端が相互に理解している場合にのみ、目的の出力を提供します。以下は、Mysql環境で実行される主なプロセスです。

    1. データの保存と制御に使用されるデータベースの作成。また、データベースに含まれる各テーブルの関係も定義します。
    2. クライアントは、MySQLサーバーで特定のSQLステートメントを入力してリクエストを行うことができます。
    3. サーバーアプリケーションは、クライアント側で要求されたデータを提供することで応答します。

    MySQLで署名を保存する

    この記事のチュートリアルは、署名パッドに依存しています。署名パッドは、HTML5キャンバスベースのパッドの作成に役立つjQueryプラグインです。次に、描画された署名を将来の再生成のためにJSONに保存します。

    クイックスタート

    1.提供されている例のように、jquery.signaturepad.css、flashcanvas.js、jquery.js、jquery.signaturepad.js、json2.jsをHTMLファイルに含めます。

    2.与えられた例に従ってHTMLを作成します(「例」をクリックします)

    3。(‘。sigPad’)。signaturePad();

    4.ほとんどの要素を構成できることを忘れないでください。

    署名パッドjQueryプラグインは、HTMLフォームをDrawItとTypeItの2つのモードを持つ署名パッドに変更します。 TypeItモードでは、ユーザーの署名はHTMLテキストとして自動的に生成されます。名前を入力した入力フィールドから@font-faceでスタイル設定されます。DrawItモードでは、canvas要素に署名を描画できます。

    描画された署名は、JSON.stringify()を使用してJSON配列として非表示の入力フィールドに書き出されます。署名はJSONとして保存されるため、フォームの一部として送信してファイルに保存できます。次に、署名をキャンバス要素に再生成して、JSON配列を使用して表示できます。署名パッドは、マウスまたはタッチデバイスのいずれかで機能します。

    署名パッドの詳細については、[署名パッドのドキュメント]をクリックしてください。

    署名の取得

    署名パッドは、非表示の入力フィールド内で署名と残りのフォーム送信を送信します:

    PHPを使用して署名を取得する最も簡単な方法は、$_POSTスーパーグローバルを使用することです。

    PHPでは、フォームから情報を取得する最良の方法は、PHPのフィルター関数を使用することです(フィルター関数の詳細については、提供されているリンクにアクセスしてください)。これらは、ユーザー入力を取得して不要な情報を取り除くためのより安全な方法を提供します。ただし、$ _ POST配列の使用は安全ではなく、さらに検証エラーが発生する可能性があります。さらに、フォームを送信せずにユーザー入力にアクセスしようとしても、PHPでエラーが発生することはありません。

    lib / save-signature.phpから:署名で提供されるすべての情報を維持したいので、特定の署名にフィルターFILTER_UNSAFE_RAWを使用できます。具体的には、FILTER_VALIDATE_REGEXを使用できます。

    署名の検証

    署名を検証する可能性が高い方法には、json_decode()を介して署名を実行し、デコードできるかどうかを確認するのを待つことが含まれます。

    lib / save-signature.phpから:

    注: 名前を検証して、正しい名前が入力されたことを確認する必要があります。

    データベースのセットアップ

    署名を保存するには、データベースにいくつかの情報が必要です。それが署名者の名前と署名です。署名にかなりの量の情報を保存するのが賢明です。少なくとも、署名のハッシュ、署名者のIPアドレス、および署名が書き込まれた時刻。これは主に法的な目的のためです。

    データベースへの保存

    すべてが検証されたら、署名をデータベースに保存できます。最も簡単な方法は、署名のJSON表現をデータベースに保存することです。写真を含むファイルを作成する場合は、署名を画像に変換する方法を確認してください。

    最善の方法は、PHPのPDO(クリックして詳細を確認)を使用してデータベースに接続することです。 PDO:prepare()を選択すると、SQLインジェクション攻撃に対する保護を得るのに役立ちます。

    lib / save-signature.phpから:

    署名の再生成

    署名を再生成する最も簡単な方法の1つは、PHPを使用していずれかのページにJavaScriptを書き込むことです。ページが読み込まれると、完全な署名情報を含むネイティブJavaScript変数が含まれ、署名パッドを使用して画像を再生成できます。

    それにもかかわらず、MySQLは市場に出回っている唯一の(R)DBMSではありませんが、最も確実に人気があります。次の理由により、優先度が高くなります。

    1. 柔軟性と使いやすさ: これにより、ソースコードを変更して期待に合わせる余裕が生まれます。最良の部分は、このレベルの自由が無料で提供されることです。これには、高度な商用バージョンにアップグレードするオプションも含まれます。さらに、インストールプロセスは比較的簡単で、30分以上かかりません。
    2. 優れたパフォーマンスを提供します: MySQLは多くのクラスターサーバーによってバックアップされています。つまり、大量の大きなeコマースデータを保存する場合でも、大量のビジネスインテリジェンスタスクを実行する場合でも、MySQLは最適な速度を提供します。
    3. 業界標準です: 何年にもわたって、業界はMySQLを使用してきました。これは、基本的に熟練した開発者に多くのリソースを提供します。
    4. 安全です: 適切なRDBMSソフトウェアを選択するときは、データを主な関心事にする必要があります。 MySQLには、セキュリティバーを高く設定するアクセス特権システムとユーザーアカウント管理があります。また、ホストベースの検証とパスワード暗号化も提供します。
    5. オンデマンドのスケーラビリティ: MySQLは、テラバイトのデータを格納する大規模な倉庫にあるものを含め、最小限のフットプリントを使用して深く埋め込まれたアプリを確立するための余地を提供します。
    6. 包括的なトランザクションサポート: MySQLには、市場で一流の堅牢なエンジニアがいます。これは、完全なデータ整合性のための頼りになる解決策です。マルチバージョンのトランザクションサポート、長期のトランザクションサポート、無制限の行レベルのロックなどの機能があります。
    7. 24時間稼働時間: MySQLは、24時間年中無休の稼働時間と、マスター/スレーブレプリケーション構成などの高可用性ソリューションを幅広く提供します。

    結論

    要約すると、この記事ではMySQLについて詳しく説明します。それはあなたが言及された主題に関するさらなる情報を得ることができるリンクをさらに提供します、そしてあなたがする必要があるのは提供されたリンクをクリックすることだけです。これらすべてに加えて、この記事では、MySQLに署名を保存するための簡単な手順を提供します。

    この記事では、署名を画像に変換する方法を説明するリンクをさらに提供します。イベントの段階的な流れを理解するためのガイドとなる小見出しが含まれています。さらに、MySQLがどのように機能するかについての簡単な説明と、MySQLを捨てることを考えていた場合に備えて、MySQLが優れた選択肢である理由を見つけることができます。


    1. WHERE句を使用して配列をクエリに渡す

    2. SQLServerの論理AND演算子とは-SQLServer/TSQLチュートリアルパート120

    3. MySQLでスラッシュ(\)を検索する方法は?そして、なぜエスケープ(\)は、where(=)ではなく、Likeが必要なのですか?

    4. MySQLでのLTRIM()関数のしくみ