POST bir Cookie kadar güvenli mi?

5 Cevap php

While implementing a flash-based uploader, we were faced with an issue: Flash doesn't provide the correct cookies. We need our PHP Session ID to be passed via a POST variable.

Biz ile geldi ve bir POST PHPSESSID kontrol, işlevsel bir çözüm hayata geçirdik.

Is POSTing the Session ID as secure as sending it in a cookie?

Possible reason for: Because both are in the http header, and equally possible for a client to forge. Possible reason against: Because it's easier to forge a POST variable than a Cookie.

5 Cevap

Bu kadar güvenli - POST dövme çerez eşit olarak kolaydır. Bunlar hem sadece cURL bayrakları ayarlayarak yapılır.

Söyleniyor, ben de iyi bir çözüm buldum.

Eğer POST için aktif içerikten oturum kimliğini elde etmek mümkün iseniz, bu muhtemelen sizin oturum tanımlama HttpOnly, aksi {bizim dan iddiaların hangisinin [(1)] işaretli anlamına gelir }.

Yerine çerez HttpOnly olabilir her şeyi ile yeterince entegre gereken bir JavaScript tabanlı hatta yenileme bazlı aktarıcı monitörü, düşünün.

Siteniz üçüncü taraf içeriği kabul etmezse, diğer yandan, cross-site scripting saldırıları herhangi bir endişe olmayabilir; bu durumda, gayet iyi POST.

Bir ilerlemek için daha kolay olduğu endişe gerçekten varsa, yanlış bir şey endişesi ediyoruz. Basitçe söylemek gerekirse, ya da deneyimli bir saldırganın için önemsiz olacaktır. Sen diğer üzerinden seçerek "komut çocuklarına" dışarı tutmak olabilir, ama bu insanlar hakkında endişeli gerekir olanları arern't. Kendinize sormanız gereken soru "bir kimliği dövme birine karşı ne savunma var mı?" Dir Bu olacak. Sizin id şifresiz, ve tahmin edilmesi kolay ise, bu bir sorun. Bu kesmek alacak. Eğer daha güvenli olduğunu soruyor, ben size endişe olduğunu söyleyebilirim.

Uygulama flaş beri burada düşünülmesi gereken bir şey derlenmiş kod saldırganların makinede olduğu için, (sadece javascript HTML kodu gibi) değişikliğe susceptable var, var. Bunlar ikili bakmak ve kod nasıl çalıştığını anlamaya, ve sunucudan almak için ihtiyacı olabilir.

POST veri HTTP başlık değil, ama bir HTTP başlığı olarak kurma / okumak için sadece kadar kolay yapar TCP akışının bir parçası olarak gönderilir. Eğer bir HTTP isteği yakalanan Eğer böyle bir şey olacaktır:

POST /path/to/script HTTP/1.1
Host: yourdomain.com
User-Agent: Mozilla/99.9 (blahblahblah)
Cookie: __utma=whateverthisisacookievalue;phpsessid=somePHPsessionID

data=thisisthepostdata&otherdata=moredummydata&etc=blah

Onlar aynı HTTP paket içinde hepsi sadece metin madem diğerleri söylediler böylece, POST ve çerezleri (ve veri, yani sorgu dizeleri GET), tüm parodi kolay.

Ben sadece Cookie ve Post ikisi de eşit derecede güvensiz olduğunu yinelemek istiyorum.