POST request-URI HTTP-version Content-Type: mime-type Content-Length: number-of-bytes (other optional request headers) (URL-encoded query string)
Farzedelim ki web sayfamızda bir giriş/login formu var. POST request ile bu bilgilerin servera gitmesini ve kontrol edilmesini istiyoruz.
<html> <head><title>Login</title></head> <body> <h2>LOGIN</h2> <form method="post" action="/bin/login"> Username: <input type="text" name="user" size="25" /><br /> Password: <input type="password" name="pw" size="10" /><br /><br /> <input type="hidden" name="action" value="login" /> <input type="submit" value="SEND" /> </form> </body> </html>
Diyelim ki "test user" kullanıcı adı ve "pass" şifre bilgisi giren bir kullanıcı "giriş" butonuna tıklayarak siteye giriş yapmak istiyor.
Bu durumda kullanıcının browserı şöyle bir POST request gönderir:
POST /bin/login HTTP/1.1 Host: 127.0.0.1:8000 Accept: image/gif, image/jpeg, */* Referer: http://127.0.0.1:8000/login.html Accept-Language: en-us Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Length: 37 Connection: Keep-Alive Cache-Control: no-cache User=test+user&pw=pass&action=login
Bu istek mesajında servera content-type headerı ile verinin URL-encoded olarak gönderildiğini ve content-length headerı ile de mesajın body kısmının tam 37 byte olduğunu, yani 37 byte'lık veri okuması gerektiğini bildirmiş oluyoruz.
Burada dikkat edilmesi gerek bir nokta şudur: POST requesti içinde gönderilen şifre, açık bir text olarak gönderiliyor. Yani POST request ile şifre yollamak kesinlikle güvenli değildir. Ağı gözetleyen bir sniffer ile açık ve net bir şekilde bu şifreyi başkaları okuyabilir.
Hiç yorum yok:
Yorum Gönder