2016-09-19 9 views
1

私のpostgresqlテーブルの30個以上のフィールドのうち6つに次の文字が見つかりました。文字は、6つの各フィールドのユーザー入力テキストの最後にあります。データは、PHP Webフォームによってテーブルに取り込まれます。これは何年もの間使用されており、これを初めて見ました。以下、この文字があると、それがどのように作成されますでした何postgresqlデータベースのテーブルフィールドに奇妙な文字があります

007F Image box found in database table

おかげでニックが、私はUnicode文字 '削除' である想像言うよう

+1

「007F」、つまり「「DELETE」文字」(http://www.fileformat.info/info/unicode/char/007f/index.htm)のように見えます。どうやってそこに行ったのか分かりませんが、これはPostgresの質問よりもPHPの質問のほうが聞こえます。 –

+0

私はあなたのユーザーとあなたのDBの間の技術を表すこの質問にタグを追加します。例えばPHP、WebForms、HTMLなど – Fraser

+0

タグが更新されました。それが何であるかを知ることはいいことです。 – Marc

答えて

0

を(U + 007F) 。 - それは元のC0 ASCII制御文字の1つです。

あなたのユーザーデータが正しく消毒されていないため、そこに移動しました。

これは悪意のある、意図されていない、またはユーザーから知られていない可能性があります。Microsoft Wordなどのアプリケーションから文字列をコピーして貼り付けただけの場合があります。

+0

私は以下の関数を使ってデータをサニタイズします:trim、str_replaceを使って\ r \ nと二重引用符、pg_escape_string、htmlspecialcharsを削除します。利用可能なその他の機能はどれですか? – Marc

+0

データをサニタイズする方法は、別の質問であり、ニーズに応じて異なります。個人的には私はそのプロセスを逆転させ、私が望むものだけを保持する*。 ctype_alnum、等私は考えることができるすべてのものを剥ぎ取るよりむしろ。 – Fraser

関連する問題