Ne karakterleri URL kodlama nedir?

2 Cevap php

Bu basit formu düşünün

<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
    <fieldset>
        <legend>Contact Me</legend>
        <label for="email">Email:</label>
        <input type="text" name="email" id="email" />
        <button type="submit">Submit</button>
    </fieldset>
</form>

Şimdi form.php?hack=" onsubmit="alert('xss') erişilir hayal

Ben kaynağını görüntülemek çıkışı

<form action="/things/?hack=%22%20onsubmit=%22alert(%27xss%27)" method="post">

Ne bu kodlama - bu tarayıcı veya PHP nedir?

Merak dışında, ben hep $_SERVER['REQUEST_URI'] içindeki htmlspecialchars(). Echo

2 Cevap

Yani bazı PHP çerçevesinde iseniz, bazıları da bunu değiştirmek, tarayıcılar tarafından yapılır. Bu PHP'nin urlencode fonksiyonunu kullanarak ne benzer.

Eğer tarayıcınızın adres alanına form.php?hack=" onsubmit="alert('xss') girerseniz " ve boşluk karakterleri bir URI izin verilmez gibi, form.php?hack=%22%20onsubmit=%22alert(%27xss%27) dönüştürür. Böylece kodlanmış gerekir. ' URI'lerde izin verilir, ancak, aynı zamanda kodlanmış olabilir.