Jump to content
php.lv forumi

kautkas līdzīgs htmlentites bet nav


Swear

Recommended Posts

Lieta tāda ka datubāzē (respektīvi ipb forums) stāv dati kuri ir dīvaini nokonvertēti.

cik saprotu ascii simboli ir pārveidoti par html entitijiem, jo izsaukumzīme ! pierkastīta kā !

jautājums - ar kādu funkciju var pārkonvertēt ! uz !

Edited by Swear
Link to comment
Share on other sites

Ja tie būtu normālu "HTML entities", tad pārlūkā izvadītos kā vajag. Visticamāk datubāzē ir saglabāts rezultāts no kā šāda...

 

htmlentities(htmlentities('!'));

Link to comment
Share on other sites

pārlūkā izvadās kā vajag, man nepieciešams nokonverēt stringu, lai varētu atrast iekš datubāzes.

 

 

uzrakstīju savu funkciju. rezultāts ir vēlamais, tikai domāju ka ir jau gatavs risinājums.

 

function konvert2reference($s) {

$a = array('!', '"', '$', '%', "'", '(', ')', '*', '+', ',', '-', '.', '/');

$b = array('!', '"', '$', '%', ''', '(', ')', '*', '+', ',', '-', '.', '/');

return str_replace($a, $b, $s);

}

 

echo konvert2reference('!'); // !

Edited by Swear
Link to comment
Share on other sites

ir tikai viena problēma - mysql_real_escape_string pārvērš kverijā ! atpakaļ uz !

datubāzē izsaukumzīmes ir nokodētas šādi: ! bet kverijs meklē uzreiz !, tāpēc neatgriež vēlamos rezultātus.

Link to comment
Share on other sites

ir tikai viena problēma - mysql_real_escape_string pārvērš kverijā ! atpakaļ uz !

datubāzē izsaukumzīmes ir nokodētas šādi: ! bet kverijs meklē uzreiz !, tāpēc neatgriež vēlamos rezultātus.

 

muļķības, mysql_.. neko tamlīdzīgu nedara :)

Link to comment
Share on other sites

Ui, neiebraucu. Lieta tāda, ka *NAV* "jā'escape'o" (lai no XSS izsargātos) lietas tās glabājot datubāzē. Tikai izvadot...

 

echo htmlentities($from_database);

 

P.S. Man zem šitā teksta pat ir lieta par tēmu. Lasiet Manus parakstus! Heh.

Link to comment
Share on other sites

man nevaidzēja eskeipot, tikai izvilkt datus no db kas jau IR itkā eskeipoti.

 

galu galā tiešām sajaucos ar to my_real_escape, uzķēros uz to, ko rādīja brauzeris.

 

---

to ko es gribēju panākt:

datubāzē ir teksts 'zaljsh!'

mysql_query("select * from table where teksts = 'zaljsh!'"); nelīdzēja jo stringi nav vienādi.

 

function convert2ipb($s) {

$a = array('&', '!', "'", );

$b = array('&', '!', ''');

return str_replace($a, $b, $s);

}

$find = 'zalsh!'

$meklet = mysql_real_escape_string(convert2ipb($find)); // zaljsh!

mysql_query("select * from table where teksts = '$meklet'"); // vēlamais rezultāts sasniegts

Edited by Swear
Link to comment
Share on other sites

Man zem šitā teksta pat ir lieta par tēmu. Lasiet Manus parakstus! Heh.

 

Tad kad kādam jau ir iespējas rakstīt Tavā db, kur un ko viņš grib, html entītiji ir mazākais, par ko būtu jāsatraucas :D

Link to comment
Share on other sites

Tad kad kādam jau ir iespējas rakstīt Tavā db, kur un ko viņš grib, html entītiji ir mazākais, par ko būtu jāsatraucas :D

 

Vārds vietā. xD

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...