PHP ?? ??? ??
HTML ?? ??? ??
?????? ?? ??? ???? ?? ??? ??? ? ??? ??? ?? ???? ??? ???? ???? ??? ????. ????. ?? ??? ?? ???? ????? ???.
????? ? ??
????? ? ?? ??? ????? Javascript ???? ??? ?? ?????. ? ?? ??? ??? ??? ????? ??? ???? ??? ?? ??? ?? ????. ??.
??? ??
??? ?? ?????? ?? ??? ??? ??(?: ?????? ???)? ??? ? ????. ??, PHP ?????? ??? ??? ??? ???.
PHP ??? ?? ?? ??? ???? ???.
? ???? ??? ??? ???? ?? ??? ?? ??? ?? ??? ???? ???.
? ?? ??? HTML ???? ?? ? ?? ??? ??, ??? ??, ?? ??? ?? ?? ??? ???? ????.
?? ?? ?
? ?? ??? ?? ??? ??? ????.
?? ? ? ? ? ? ? ? ? ? ??????????????????????????? ?????. +??? ??? ??? ? ????
???. + ??? ??? ???? ???('@' ? '.' ??)
URL ? ? ? ? ?????. ?? ?? ??? URL? ????? ???. ?? ?????. ?? ? ?? ??(??? ??)
??? ??
'??', '???', '????' ??? ??? ?? ????, '??' ??? ??? ?????. HTML ??? ??? ????.
“??”: <input type="text" name="name">
">
?????????????? ????: <input type="text " name="website">
??????????????? ??: <textarea name="comment"rows="5" cols="40"< /textarea>
?????????????????????????????????????????~ >?? ??
HTML ?? ??? ??? ????.
????????????????????????????????????htmlspecialchars ($ _ Server ["pHP_Self"];? & gt; "& gt;
? ??? Method =" Post " ??? ???? ???? ?????.
$_SERVER["PHP_SELF"] ??? ??????
$_SERVER["PHP_SELF"]? ??? ???? ?? ?? ?????. ?? ?? ??? ???? ??? ????? ?? ?????.
??? $_SERVER["PHP_SELF"]? ?? ???? ???? ?? ?? ???? ?? ???? ????.
htmlspecialchars() ???? ??????
? ?? ?? ??? ??? ??? ????.
&(????)? &"(????)? "
< (?? ??) ?<
> (?? ?) ?>
PHP ???? ??? ??? ?? ?
$_SERVER["PHP_SELF"] ??? ??? ??? ? ????
??? ??? ??? ???? HTTP ??? ???? ???? ?? $_SERVER["PHP_SELF"] ?? ??? ????? ?????. ? ??? ??? ??? ????? ?? ?? ??? ???? $_SERVER["PHP_SELF"] ???? HTTP ?? ?? JavaScript ???? ??? ???? ?????.
XSS? ??? ??? ???? ??? CSS(Cross-Site Script)??? ???. ???? ???? ???? ???? ??? ? ???? HTML ??? ???? ? ???? ??? HTML ??? ?????? ???? ???? ??? ??? ?????.
?? ?? ?? ??? "test_form.php"? ?????.
<?php echo $_SERVER["PHP_SELF "];?>">
?? URL? ???? ?? ?? "test_form.php"? ?????. ? ??? ??? ?? ?????.
?, ???? ???? ?? ???? ?? ??? ????? ?? ?????.
$_SERVER["PHP_SELF"]? ???? ?? ???? ??? ??????
$_SERVER["PHP_SELF"]? htmlspecialchars() ??? ???? ??? ? ????.
?? ??? ??? ????.
htmlspecialchars() ?? ??? ?? ??? HTML ???? ?????. ?? ???? PHP_SELF ??? ????? ?? ??? ??? ?? ?????.
& lt; ?? ?? = "???" ?? = "test_form.php/& quot; & lt; ???? & gt; ??('???') & lt;/script & gt;
? ??? ???? ???? ????? ????? ???? ??? ? ????.
???? ??? ???? ?? ? ?? ??? ?????.
???? ??? ??? ??? ??? ?? ??? ??? ???? ?? ????? ?? ????????.
?? ??? test_input()?? ?????.
?? test_input() ??? ?? $_POST? ?? ??? ??? ? ????. ???? ??? ??? ????.
Instance
<?php // 定義變量并默認設置為空值 $name = $email = $gender = $comment = $website = ""; if($_SERVER["REQUEST_METHOD"] == "POST") { $name = test_input($_POST["name"]); $email = test_input($_POST["email"]); $website = test_input($_POST["website"]); $comment = test_input($_POST["comment"]); $gender = test_input($_POST["gender"]); } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?>? ????? ???? $_SERVER["REQUEST_METHOD"]? ???? ??? ?????? ??? ?????. REQUEST_METHOD? POST?? ??? ???? ???? ???? ?????. ??? ???? ??? ??? ??? ???? ???? ?????. ? ???? ????? ??? ??????, ???? ??? ???? ???? ??? ????? ??? ? ????. ?? ???? ???? ??? ???? ???? ???? ??? ?????.