私はcodeigniterを使用していますが、現在、全身検索を行っていますが、これを行うためのベストプラクティスは何でしょうか。今のところ私はこれを持っています:
$keyword = $this->db->escape_like_str(trim($_POST['keyword']));
その後、検索を行います。これは安全ですか、それとももっと何かをする必要がありますか(XSSフィルタリングがオンになっています)?
私はcodeigniterを使用していますが、現在、全身検索を行っていますが、これを行うためのベストプラクティスは何でしょうか。今のところ私はこれを持っています:
$keyword = $this->db->escape_like_str(trim($_POST['keyword']));
その後、検索を行います。これは安全ですか、それとももっと何かをする必要がありますか(XSSフィルタリングがオンになっています)?
_POST変数に直接アクセスしているため、CIのすべてのXSS/エスケープおよびセキュリティ機能をバイパスしています。あなたはそれを次のように取得する必要があります:
$this->input->post('keyword');
これはCIによって自動的にエスケープされ、DBにスローする前に他の検証を実行できます。また、アクティブレコードを使用する場合は、必要に応じてすべての値が自動的にエスケープされます。