Topic: Klausimas apie mistiškus simbolius duomenų bazėje

Sveiki,

jau daugiau nei metus turiu registracijos formą, kur registruojasi mūsų klientai. Per tuos metus jau prisiregistravo daugiau nei 30 000 žmonių (taip kad db tikrai  "matė" visokių simbolių) ir tik dabar pasitaiko antras atvejis, kai į duomenų bazę papuola įrašas, kuriame yra simbolis, kurį (eksportavus duomenis iš DB į csv failiuką) Notepad++ rodo kaip "SUB", pažiūrėjus ant linux serverio tas simbolis rodomas kaip "^Z". Internete radau, kad tai yra kontrolinis simbolis kurio ASCII kodas \x1A (arba dešimtainėje sistemoje - 26), jo reikšmė - "Substitute". Kaip suprantu, šie simboliai likę iš senų laikų ir reikalingi unix ar dos konsolės valdymui. Dėmesio, klausimai:

Kaip tokie simboliai gali pakliūti iš registracijos formos į DB? juk tai nėra "printable characters" , t.y. nelabai gali būti kad žmogus netyčia nuspaudžia kokį nors klavišą.

Kodėl interneto naršyklė juos perduoda į serverį?

Ir antras papildomas klausimas būtų kam gali būti naudojamas šis simbolis šiais laikais?


Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

Re: Klausimas apie mistiškus simbolius duomenų bazėje

Siaip tokie kaip \x1A binariniai kintamieji skirti SQL injekcijoms vykdyti. Taip pat galima vykdyti ir su:

\X00
\N
\R
'
"

Geriausia naudoti: mysql_real_escape_string() ir nekils perdaug problemu.