Ben metin girişini kabul eden bir form var. Ben bu tür & gibi karakterleri kabul edebilmek olmak istiyorum ve; ve> ve <, kullanıcı tarafından temin edilen veriler için yararlı olan karakter. Ben kullanıcı, örneğin, söylemek mümkün olmak istiyorum
The ampersand (&) is encoded as & (and I see from the preview that I can't even do that here - it should look like The ampersand (&) is encoded as & but I had to type in amp;amp; after the ampersand to get that to look right.) (btw, the preview is cool, but I can't count on users having scripts enabled)
Ben verilerini ayrıştırmak ve onunla bir sorun varsa, ben düzenleme ve yeniden başvuru için aynı alanda doldurulmuş aynı biçimde geri kullanıcıya, kullanıcının girdisini, mevcut.
Ben ham verileri sunmak, ben tarayıcısı tarafından yürütüldüğünde (örneğin komut dosyaları veya HTML gibi) düşman girişi sahip riski çalıştırın. Onu (örneğin htmlspecialcharacters yoluyla gibi) filtre Ancak, daha sonra kullanıcı o yazmış karakteri (diyelim işareti) (bir temsilini) görmek istiyorsunuz, ama o zaman tekrar gönderdiğinde, o = aslında = teslim edilecek Olarak çıkıyor, hatta bir işareti içerir (& gibi göründüğünü, bu durumda) değiştirme. Girişi ile halen bir sorun varsa, bu düzenleme için tekrar sunulacak, ve biz yedek derin bir seviye olacak.
Ne Kullanıcı gerçekte gönderir verilerin dezenfekte sürümüne aynıdır yalnızca kullanıcı verileri kabul edilir. Bu sunucuda bir metin dosyası için mukadder ve bir e-posta web sitesi arkasında kuruluşa gönderilir.
Ben "yanıtlanabilir bir soru" olduğunu varsayalım "Bu bile mümkün mü?"
Jose
edit:
<?php
$var=$_GET["test2"];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Input Escape Test</title>
</head><body>
The php parser would store the following input:<br>
<?php echo $var ?>
<br>
<form method="get" action="test.php"><p>
<label for "test2">Test - question five: <br>type in a character on the first line<br>and its HTML entity on the second line.
<textarea name="test2" cols="50" rows="3"><?php echo $var; ?></textarea><br/>
<input type="submit"/>
</p></form>
</body></html>
results in a form where the user attempts to answer the question with ampersand ampersand a m p semicolon. IF that gets rejected (say, because of other illegal characters), the user is presented with his input back, minus the stripped characters. However, the a m p semicolon is also stripped from view (though it's in the source). The user will then attempt to add another a m p semicolon to the displayed result.
The only way the user gets to see ampersand a m p semicolon displayed (upon rejected input), is to type in ampersand a m p semicolon a m p semicolon
Nihayet memnun, kullanıcı tıkladığında tekrar göndermek ve amfi virgül görünüşte tekrar kaybolur. Kullanıcı, (teslim) cevap olarak saklanır ne olacağını bilmiyor.
I want the user to be able to type in: ampersand a m p semicolon and, upon rejection, see ampersand a m p semicolon and upon acceptance, store ampersand a m p semicolon
Jose