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

入力をサニタイズしますが、出力が期待どおりではありません

    私の提案は、すべてのテキスト入力をサニタイズする関数と、データベースまたはその他のソースからのすべての出力をチェックする関数を作成することです。たとえば、次のようになります。

    <?php
    // filter for user input
    function filterInput($content)
    {
        $content = trim($content);
        $content = stripslashes($content);
    
        return $content;
    }
    
    //filter for viewing data
    function filterOutput($content)
    {
        $content = htmlentities($content, ENT_NOQUOTES);
        $content = nl2br($content, false);
    
        return $content;
    }
    

    戦略に応じて、フィルターに機能を追加したり、一部を削除したりする場合があります。しかし、ここにある機能は、XSSから保護するのに十分です。

    編集: 上記の機能に加えて、この回答 ウェブサイト保護の一部にも関連している可能性があります。

    さまざまな方法への参照:

    次のリンクを確認することもお勧めします:

    そして重要なことに、トップ10のリスクを認識し、それについてさらに学ぶことは良いことです。



    1. データは、sqliteのすべてのテーブルではなく、特定のテーブルの日付から入力されます

    2. psql:サーバーが予期せず接続を閉じました

    3. テーブルを適切に切り捨てるにはどうすればよいですか?

    4. 複数の行を1つの行に集約するOracleSQLクエリはありますか?