Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Moderátor: Moderators
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Chyba ve znacích u popisu Tempate, Snippetu a Chunku
kdykoliv díte do popisu český znak ěščřžýáíéúů atd
tak se v poli popisu daného Tempate, Snippetu a Chunku objeví paznaky
Dělá to stejně na localhostu i na webovém serveru
ještě to budu zkjoušet vyzkoumat doma později odpoledne
Dělá vám to také ?
kdykoliv díte do popisu český znak ěščřžýáíéúů atd
tak se v poli popisu daného Tempate, Snippetu a Chunku objeví paznaky
Dělá to stejně na localhostu i na webovém serveru
ještě to budu zkjoušet vyzkoumat doma později odpoledne
Dělá vám to také ?
-
- Moderator & CLT
- Príspevky: 215
- Dátum registrácie: Pi Sep 23, 2005 10:59 am
- Bydlisko: Vysoké Studnice (u Jihlavy)
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Jo, taky
Svého času jsem pátral po příčině, ale vzhledem k tomu, že ostatní šlape jako hodinky, tak jsem se na to vybodl - a prostě v popisech diakritiku nepoužívám.
Svého času jsem pátral po příčině, ale vzhledem k tomu, že ostatní šlape jako hodinky, tak jsem se na to vybodl - a prostě v popisech diakritiku nepoužívám.
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
no jasně to je nejjedodušší řešení
koukám nyní v kédech souborů
save_snippet.processor.php
save_template.processor.php
save_htmlsnippet.processor.php
v části
ale zatím nic nezabírá
koukám nyní v kédech souborů
save_snippet.processor.php
save_template.processor.php
save_htmlsnippet.processor.php
v části
Kód: Vybrať všetko
switch($_POST['mode'])
{
case '23':
//do stuff to save the new doc
$snippet = mysql_escape_string($_POST['post']);
$name = mysql_escape_string(htmlentities($_POST['name']));
$description = mysql_escape_string(htmlentities($_POST['description']));
$locked = $_POST['locked'] == 'on' ? 1 : 0 ;
if($name == "")
{
$name = "Untitled snippet";
}
$sql = "INSERT INTO $dbase.".$table_prefix."site_snippets(name, description, snippet, locked) VALUES('".$name."', '".$description."', '".$snippet."', '".$locked."');";
$rs = mysql_query($sql);
if(!$rs)
{
echo "\$rs not set! New snippet not saved!";
}
else
{
// get the id
if(!$newid=mysql_insert_id())
{
echo "Couldn't get last insert key!";
exit;
}
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
asi to už mám !!!
moment
testuju
moment
testuju
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
soubor:
řádka 37
nahradit
řádka 81
nahradit
-----------------------------------------------------------------------------------------------------------------------
soubor:
řádka 37
nahradit
řádka 81
nahradit
-----------------------------------------------------------------------------------------------------------------------
soubor:
řádka 21
nahradit
řádka 65
nahradit
-----------------------------------------------------------------------------------------------------------------------
uff
u mě tohle funguje !!
Kód: Vybrať všetko
save_snippet.processor.php
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
soubor:
Kód: Vybrať všetko
save_template.processor.php
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
soubor:
Kód: Vybrať všetko
save_htmlsnippet.processor.php
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
Kód: Vybrať všetko
$description = mysql_escape_string(htmlentities($_POST['description']));
Kód: Vybrať všetko
$description = mysql_real_escape_string($_POST['description']);
uff
u mě tohle funguje !!
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
totéž by šlo napsat i pro všechny řádky s číslem o jedno nižším, pro položku "name", ale tam je lepší české znaky nepoužívat
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Dal jsem dohromady všechny soubory, které jsem zatím v Etomite opravil.
Ke stažení jsou zde:
62 kB
bez hesla
Ke stažení jsou zde:
Kód: Vybrať všetko
http://rapidshare.com/files/216270391/etomite_1.1_opravene_soubory.rar
bez hesla
- _rasel^
- ETOMITE Admin
- Príspevky: 1122
- Dátum registrácie: Ut Sep 20, 2005 1:03 am
- Bydlisko: Košice (SR)
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Tiež ma to trápilo, ale bol som dosť lenivý nato, aby som rozmýšľal, ale inšpiroval si ma k tomuto:... do UTF-8 a navyše zahadzuje nepovolené _neviditeľné_ znaky UTF-8.
Kód: Vybrať všetko
$description = mysql_real_escape_string(htmlspecialchars(iconv('UTF-8', 'UTF-8//IGNORE', $_POST['description']), ENT_QUOTES, 'UTF-8'));
..:: Etomite CMS → Rulezzz !.!.!. ::..
- puschpull
- Expert
- Príspevky: 112
- Dátum registrácie: Št Mar 19, 2009 9:31 am
- Bydlisko: Czech Republic - Most
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
_rasel^: fajn, funguje
popiš mi, prosím, na jakém principu to funguje a co myslíš tím
popiš mi, prosím, na jakém principu to funguje a co myslíš tím
díkya navyše zahadzuje nepovolené _neviditeľné_ znaky UTF-8.
- _rasel^
- ETOMITE Admin
- Príspevky: 1122
- Dátum registrácie: Ut Sep 20, 2005 1:03 am
- Bydlisko: Košice (SR)
- Kontaktovať používateľa:
Re: Chyba ve znacích u popisu Tempate, Snippetu a Chunku
Je to ochrana proti XSS. Funkcia iconv() prekonvertuje dáta z UTF-8 do UTF-8 pričom zahodí všetky znaky, ktoré nie je možné prekonvertovať korektne (ochrana proti UTF-8 háčkovaniu ) htmlspecialchars() prekonvertuje všetky nepovolené znaky na entity... a namiesto mysql_real_escape_string() by sa hodilo použiť Prepared Statements, ale to by trebalo trocha upraviť funkcie.
..:: Etomite CMS → Rulezzz !.!.!. ::..