上のコメントは読む気にならないので読んでないけど、目立った箇所に気になる情報があったのでコメントしとく

> ・ログインアカウント名をhtmlspecialcharsしてDBに登録するコード(285)

これは元凶となる教本があって某QAサイトの初学者のコードではよく見かける
その教本にはセットで副読本が配布されていて、そちらまで読むと間違いって分かるんだけど、読まない人が引っかかってるっぽい
被害者は多数いる模様

まぁ普通の初学者は教本が堂々と間違ったこと書くとか思わないから、被害を受けた方を責めるのは死体蹴りだよ