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

PHP+MySQLのIPブラックリスト

    次のクエリは定期的に実行する必要はなく、cronジョブに移動できます:

    DELETE FROM failures WHERE release_time < ?;
    

    この「ブール」クエリは、その人がブラックリストに登録されている場合は1を返し、そうでない場合は0を返します。

    SELECT
      COUNT(ip_address) as blacklisted
    FROM blacklist
    WHERE
      ip_address = ? AND
      release_time > ? AND
      failures > 5
    

    PHPを使用して行をカウントしたり、数値を比較したりしないと、処理が高速化される可能性があります。

    if ($row['blacklisted']) { /* ... */ }
    

    最後のものを本当に避けることはできないと思います。




    1. PHPPDOの複数選択クエリが一貫して最後の行セットを削除する

    2. MuleSoftがGraphQLを採用してAPI統合を推進

    3. 幅優先探索方式での一般的なツリートラバーサル(無限)

    4. SSDTを使用して、別のデータベースのオブジェクトを参照するビューがある場合、SQL71561エラーを解決するにはどうすればよいですか?