2016-09-19 66 views
1

在其中一個postgresql表中,有30個字段中的6個字符被找到。該字符位於用戶輸入的6個字段中每個字段的末尾。數據通過PHP Web表單進入表格。它已經使用了好幾年了,這是我第一次看到這個。postgresql數據庫表字段中的奇怪字符

下面是什麼這個角色,又是如何獲得創建:

007F Image box found in database table

感謝

+1

看起來像'007F',即[[DELETE]字符](http://www.fileformat.info/info/unicode/char/007f/index.htm)。不知道它是如何到達那裏的,但這聽起來更像是一個PHP問題而不是Postgres。 –

+0

我會爲此問題添加標籤,代表您的用戶和數據庫之間的技術。例如PHP,WebForms,HTML等 – Fraser

+0

標籤已更新。很高興知道它至少是什麼。 – Marc

回答

0

尼克說,我會想象它是Unicode字符 '刪除'(U + 007F) 。 - 它是原始的C0 ASCII控制字符之一。

它到達那裏,因爲你沒有正確清理你的用戶數據。

這可能不是惡意的,意圖的甚至是用戶所瞭解的,他們可能只是從應用程序(如Microsoft Word)複製並粘貼字符串。

+0

我正在使用以下函數來清理數據:trim,str_replace刪除\ r \ n和雙引號,pg_escape_string和htmlspecialchars。還有哪些其他功能可以幫助? – Marc

+0

如何淨化數據是另一個問題,並取決於您的需求。我個人會反過來的過程,只*保留*我想要的東西,例如ctype_alnum等等,而不是去掉所有我能想到的東西。 – Fraser