亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP ?? ?? ???? PHP ?? ??

1. PHP ?? ??

? ???? PHP? ???? ?????? ??? ?? ???? ???? ??? ?????.

??: PHP ??? ??? ?? ??? ???? ???. ? ???? ??? ??? ???? ?? PHP ?? ???? ?? ??? ?????. ??? ?? ??? ?? ??? ???? ???.

? ?? ??? HTML ???? ?? ? ?? ??? ??, ??? ??, ?? ?? ?? ?? ??? ???? ????.

2. ?? ?

??? ??? ????.

<!DOCTYPE HTML> 
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 
<?php
// 定義變量并默認(rèn)設(shè)置為空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST")
{
    if (empty($_POST["name"]))
    {
        $nameErr = "名字是必需的";
    }
    else
    {
        $name = test_input($_POST["name"]);
        // 檢測名字是否只包含字母跟空格
        if (!preg_match("/^[a-zA-Z ]*$/",$name))
        {
            $nameErr = "只允許字母和空格"; 
        }
    }
    
    if (empty($_POST["email"]))
    {
      $emailErr = "郵箱是必需的";
    }
    else
    {
        $email = test_input($_POST["email"]);
        // 檢測郵箱是否合法
        if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
        {
            $emailErr = "非法郵箱格式"; 
        }
    }
    
    if (empty($_POST["website"]))
    {
        $website = "";
    }
    else
    {
        $website = test_input($_POST["website"]);
        // 檢測 URL 地址是否合法
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
        {
            $websiteErr = "非法的 URL 的地址"; 
        }
    }
    
    if (empty($_POST["comment"]))
    {
        $comment = "";
    }
    else
    {
        $comment = test_input($_POST["comment"]);
    }
    
    if (empty($_POST["gender"]))
    {
        $genderErr = "性別是必需的";
    }
    else
    {
        $gender = test_input($_POST["gender"]);
    }
}

function test_input($data)
{
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
?>

<h2>PHP 表單驗證實例</h2>
<p><span class="error">* 必需字段。</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
   名字: <input type="text" name="name" value="<?php echo $name;?>">
   <span class="error">* <?php echo $nameErr;?></span>
   <br><br>
   E-mail: <input type="text" name="email" value="<?php echo $email;?>">
   <span class="error">* <?php echo $emailErr;?></span>
   <br><br>
   網(wǎng)址: <input type="text" name="website" value="<?php echo $website;?>">
   <span class="error"><?php echo $websiteErr;?></span>
   <br><br>
   備注: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
   <br><br>
   性別:
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?>  value="female">女
   <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?>  value="male">男
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   <input type="submit" name="submit" value="Submit"> 
</form>

<?php
echo "<h2>您輸入的內(nèi)容是:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

?? ??? ???? ????.

3. ?? ??

1. ?? ??

28.png

2. ??? ??

'??', '???', '????' ??? ??? ?? ????, '??'? " ??? ??? ?????. HTML ??? ??? ????.

"Name": <input type="text" name="name">

E-mail: <input type="text" name ="email">

????: <input type="text" name="website">

??: <textarea name="comment" ?="5 " cols="40"></textarea>

3. ??? ??

"??" ??? ??? ???? HTML ??? ??? ????.

??:

<input type="radio" name="gender" value="female">??

<input type="radio" name="gender" value="male">??

4. ?? ??

  • HTML ?? ??? ??? ????.

<form method="post" action="<?php echo htmlspecialchars($_SERVER[ "PHP_SELF "]);?>">

  • ? ??? ???? ???? ?? method="post" ???? ?????.

??: $_SERVER["PHP_SELF"] ??? ??????
$_SERVER["PHP_SELF"]? ?? ?? ?? ?? ??? ???? ?? ?? ?????. ???? ? ?? ?? ??.

??? $_SERVER["PHP_SELF"]? ?? ???? ???? ?? ?? ???? ?? ???? ????.

??:

  • htmlspecialchars() ???? ??????
    htmlspecialchars() ??? ?? ??? ?? ??? HTML ???? ?????.

?? ??? ??? ??? ????.

" ??) Be '
  • & lt; (?) to be & lt;
  • & gt; (greater) to be & gt ;
  • 5. PHP ???? ???? ? ?? ??????

  • $_SERVER["PHP_SELF"] ??? ??? ??? ? ????!

??? ??? ??? ???? HTTP ??? ???? ???? ?? $_SERVER["PHP_SELF"] ?? ??? ????? ?????. ? ??? ??? ??? ????? ?? ?? ??? ???? $_SERVER["PHP_SELF"] ???? HTTP ?? ?? JavaScript ???? ??? ???? ?????. ??: XSS? ??? ??? ???? ??? CSS(Cross-Site Script)??? ???. ???? ???? ???? ???? ??? ? ???? HTML ??? ???? ? ???? ??? HTML ??? ?????? ???? ???? ??? ??? ?????.

  • ?? ?? ?? ??? "test_form.php"? ?????.

<form method="post" action="< ? php echo $_SERVER["PHP_SELF"];?>">

?? URL? ???? ?? ?? "test_form.php"? ?????. ? ??? ??? ????. ??? ?? ??????:
  • <form method="post" action="test_form.php">
?????.

  • ??? ???? ???? ?? ???? ?? ??? ????? ?? ?????:

http://ipnx.cn / test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

? URL? ?? ??? ???? ?????.
  • <form method="post" action="test_form.php/"><script>alert('hacked')</script>

??? ???? ??? ?????, ?? ??? ???????. ? Javascript ??? ???? ??? ? ?????(????? ?? ??? ???). ?? ??? PHP_SELF ??? ??? ??? ? ??? ???? ??? ????.

    <script> ???? ?? JavaScript ??? ??? ? ????. ??? ?? ??? ???? ?? ??? ????? ? ????. ?? ??? ?? ??? ????? ???? ?? ???? ?? ? ????.

    6. $_SERVER["PHP_SELF"] ??? ???? ??? ??????

    • $_SERVER["PHP_SELF"] ??? ????? htmlspecialchars() ??? ???? ???.

    ?? ??? ??? ????.

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"] ) ;?>">

    • htmlspecialchars() ?? ??? ?? ??? HTML ???? ?????. ?? ???? PHP_SELF ??? ????? ?? ??? ??? ?? ?????.

    <form method="post" action="test_form.php/">< ;script>??('???')</script>">

    ? ???? ????? ??? ??????!

    7. PHP? ???? ?? ??? ??? ??

    • ?? PHP? htmlspecialchars() ??? ?? ???? ??? ?? ???? ?????.

    htmlspecialchars() ??? ??? ?. , ???? ?? ???? ????? ???. ???:

    <script>location.href('http://ipnx.cn')</script>

    • ? ??? ??? ?? HTML ????? ??? ????? ???? ????.

    <script>location.href('http:// ipnx.cn') </script>

    ? ??? ???? ???? ????? ????? ???? ??? ? ????.

    • ???? ??? ???? ?? ? ?? ??? ?????.

    • PHP Trim() ??? ???? ???? ??(?: ??, ?)? ?????. , newlines) ??? ?? ?????

    • PHP Stripslashes() ??? ???? ??? ?? ???()?? ????? ?????.

    ???? ??? ?????. ??? ??? ???? ?? ??? ????? ?? ???? ? ????.

    ?? ??? test_input()?? ???? ?? ??? ?? $_POST? ??? ? ????. ?? ???? ???

    <?php
    // 定義變量并默認(rèn)設(shè)置為空值
    $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;
    }
    ?>

    4. ??

    ? ????? ??? ? $_SERVER["REQUEST_METHOD"]? ???? ??? ?????? ?????. REQUEST_METHOD? POST?? ??? ???? ???? ???? ?????. ??? ???? ??? ??? ??? ???? ???? ?????.

    ? ???? ????? ??? ??????, ???? ??? ???? ???? ??? ????? ??? ? ????.

    ?? ???? ???? ??? ???? ???? ??? ???????.


    ???? ??
    ||
    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>php.cn</title> <style> .error {color: #FF0000;} </style> </head> <body> <?php // 定義變量并默認(rèn)設(shè)置為空值 $nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "名字是必需的"; } else { $name = test_input($_POST["name"]); // 檢測名字是否只包含字母跟空格 if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允許字母和空格"; } } if (empty($_POST["email"])) { $emailErr = "郵箱是必需的"; } else { $email = test_input($_POST["email"]); // 檢測郵箱是否合法 if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { $emailErr = "非法郵箱格式"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // 檢測 URL 地址是否合法 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "非法的 URL 的地址"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { $genderErr = "性別是必需的"; } else { $gender = test_input($_POST["gender"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> <h2>PHP 表單驗證實例</h2> <p><span class="error">* 必需字段。</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 名字: <input type="text" name="name" value="<?php echo $name;?>"> <span class="error">* <?php echo $nameErr;?></span> <br><br> E-mail: <input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br><br> 網(wǎng)址: <input type="text" name="website" value="<?php echo $website;?>"> <span class="error"><?php echo $websiteErr;?></span> <br><br> 備注: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea> <br><br> 性別: <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">女 <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">男 <span class="error">* <?php echo $genderErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form> <?php echo "<h2>您輸入的內(nèi)容是:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $website; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>