Textarea - bug \n \r \t \\ – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Textarea - bug \n \r \t \\ – PHP – Fórum – Programujte.comTextarea - bug \n \r \t \\ – PHP – Fórum – Programujte.com

 

peter
~ Anonymní uživatel
3981 příspěvků
9. 11. 2017   #1
-
0
-

Mam textarea1 (ta1), kam vlozite text, kliknete odeslat, prevezme to php, zpracuje a vrati k zobrazeni textarea2 (ta1).

Pokud zpracovani nic neudela, je vsechno o, pocet znaku na leve (ta1) strane, i na prave (ta2) souhlasi.
Pokud ten program znaky rekneme nahodne promicha, roztrhne to kombinaci hex 0D0A, cili enter, zalomeni radku A textara samostatny 0D nebo 0A interpretuje jinak, jednou znak smaze, podruhe doplni zalomeni. To je naprosto nezadouci, protoze zpetne to neni kompatibilni a kdybych to ted tal odesla ke zpetnemu promichani, tak nedostanu stejny vstup v ta1.

Provizorne to ted resim pres  

$slashes_chars = "\\\n\r\t";
$data['out'] = addcslashes($data['out'],$slashes_chars);
$data['out'] = stripcslashes($data['out']);

Testovaci kod muze vypadat treba takto

<?php
//function escapeHtml($str) {return htmlspecialchars($str);}
function escapeHtml($str) {return htmlspecialchars($str,ENT_COMPAT | ENT_NOQUOTES);}	//bez quotes


function escapePost($str)
{
//return urldecode(stripslashes($str));
//return stripslashes($str);
//return urldecode($str);
//if (get_magic_quotes_gpc() || version_compare(PHP_VERSION, '5.4.0', '>') )
//	{
//	$str = stripslashes($str);
//	}
return $str;
}



header("Content-Type: text/html; charset=windows-1250"); 

	$str = isset($_POST['str_in']) ? $_POST['str_in'] : '';
	$str = escapePost($str);
echo strlen($str);
?>

<fieldset>
<legend>BWT transformation</legend>
<form name="form1" method="post" enctype="multipart/form-data"> <!-- -->
<table><tr><td>
  -- 1 --<br>
  <textarea name="str_in" cols="40" rows="7"><?php echo escapeHtml($str); ?></textarea><br>
  &nbsp;
</td><td>
</td></tr></table>
<p>
<input type="submit" name="decode" value=" bwtDecode "/> (2+key to 1)
</p>
</form>
</fieldset>

Kdyz tady date 5x po sobe odeslat, tak je vsechno ok. Ale zkuste tam pridat nahodne promichani nebo jen reverzi  strrev();. Do textarea zkopirujte napr kod celeho programu.

Nahlásit jako SPAM
IP: 2001:718:2601:258:a1a7:84...–
peter
~ Anonymní uživatel
3981 příspěvků
9. 11. 2017   #2
-
0
-

Staci zamenit 

	$str = escapePost($str);
//za
	$str = escapePost($str);
	$str = strrev($str);
Nahlásit jako SPAM
IP: 2001:718:2601:258:a1a7:84...–
peter
~ Anonymní uživatel
3981 příspěvků
9. 11. 2017   #3
-
0
-

Kdyby to nekoho zajimalo, je to jen takovy pokusny programek prepsany z js. V tom js se nic neodesila a funguje to v pohode. A to ikdyz udelam copy z te oblasti ta2.
Ale trochu mne ted stve, ze to dekodovani dela jako snek. Netusim proc.

http://mlich.zam.slu.cz/js-bwt/bwt_class.txt
http://mlich.zam.slu.cz/…cryptbwt.htm

Nahlásit jako SPAM
IP: 2001:718:2601:258:a1a7:84...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

Podobná vlákna

Textarea — založil dalaman

Textarea — založil Zelenáč

Textarea — založil don_Dominique

Textarea — založil tomj

IE bug — založil Marty_SVK

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý