読者です 読者をやめる 読者になる 読者になる

saitetutan’s diary

Unity,Blender,C#,Javaなどの備忘録的なブログです。電子工作やArduinoなんかも。

Unity,Blender,C#,Javaなどの備忘録的なブログです。電子工作やArduinoなんかも。

PHPとMySQLでシリアルコードの認証システム作成

今回はシリアルコード(シリアルナンバー、シリアル番号)の発行と認証のシステムを作らないといけない状態になり、取りあえずそれらしいものを作ったので載せておこうかと思います。

ここで言うシリアルコードとはゲーム内などでアイテムを貰うために1回だけ入力できるような、あのコードのことです。

違うものを想像していた方は申し訳ないです。

 

また、このブログの記事全てに共通することですが、超初心者向け記事なのであしからず・・・。

 

--------------------- 

 

まず、シリアルコードのデータはレンタルサーバー上のMySQLハッシュ値として置いておくことを想定しています。

 

phpは5.5以上からmysql()が非推奨(しかも今回使ったサーバーでは使用不可)、mysqliを使用しています。

 

概要としてはmysqliでインスタンスを作成し、SQLインジェクション回避用にプリペアドステートメントでクエリを発行する感じです。

 myspl上にはserialとDATEのcahr型、usedのboolean型のカラムをそれぞれ用意しておいてください。

 

まずシリアル発行のスクリプトから、

 ちょっとオブジェクト指向風な感じで

 

 

で、こっちがシリアル認証用のスクリプト

 

 

 

 

if state=="ok"のところにリンクとか貼ればオッケーかもです←

また、useがbool型でtrueになると認証できない(一回しか認証できない)用になっているので注意です。

再読込でも認証不可になるので要改善かも。

 

このソースではmd5を使っておりますが、最近非推奨な傾向なので、もっとセキュアな必要があるならphp標準のpassword_hash()を使うことをお勧めします。