サイト全体を完全に書き直したい/忙しい. この時点で、私は「メンバーおよび安全エンジン」と呼んでいるものに取り組んでいます。セキュリティと SQL インジェクションについてよく読んでいますが、かなり複雑です。ps。私のサイトは、約 250 人以上のメンバーがいるプロの金儲けサイトというよりは趣味です。
ユーザー名とパスワードには、az、AZ、および 0-9 の文字のみを許可します。if(isset(post))
私は-function でこれをチェックします:
if(ctype_alnum(mysql_real_escape_string(stripslashes($string))) == false) {
header to error-page; exit;}
else {continu with script}
このチェックは、パスワードとユーザー名の両方に対して行われます。
誰かが未知のユーザー名または既知のユーザー名で間違ったパスワードでログインしようとすると、そのアクションは IP アドレスを含む特別なテーブルに記録 (挿入) されます。不明なユーザー名でログインを 10 回試行するか、間違ったパスワードで 6 回試行すると、メンバー エリアから IP アドレスがブロックされ、すべての非メンバー ページでフォームとフォームの送信が表示されず、フォームの送信ができなくなります。この IP ブロック。フォームが送信されると、この ip-check が行として表示されます... ip がテーブルにある場合は、ヘッダー (エラーページへ); 出口;。
私の質問:
- IP アドレスを文字列に配置する場合、セキュリティ チェックを行う必要がありますか?
$xip = $_SERVER['REMOTE_ADDR'];
これ$xip
は、不明なユーザーまたは間違ったパスワードでログインしようとすると、テーブルに挿入されます。 - これは、ハッキングや SQL インジェクションに対して (かなり) 安全な環境ですか?
- そうでない場合は?助けと提案に本当に感謝しています(ここに完全な解決策を書くことは非常にありがたいですが、解決策への正しい道を私に送ってくれると、もっと多くのことを学びます)
$_cookie
またはからこの情報を取得するときに、「ctype_alnum」チェックも実行する必要があり$_session
ますか?
ps。私はオランダ人なので、ほとんどすべてのテーブル名、列名、フォーム入力フィールド名などにオランダ語が使われています。私はまだそれに取り組んでいますが、サイトが完成すると、「パスワード」、「パス」、「ユーザー」、「ユーザー ID」などの単語が私のサイトに表示されなくなります。