Nasıl HTTP Spoofing'i önlemek için?

5 Cevap php

Biz set kurabiye ile PHP kullanarak bir veritabanı odaklı web sitesi oluşturduk ve şimdi bunu yapmak için nasıl herhangi bir fikir, HTTP sızdırma önlemek gerekir? böylece herhangi bir yardım minnettar olacaktır bu ile başlayanlar

5 Cevap

HTTP isteklerini "parodi" olamaz. Sen sunucuya bir istek göndermek ve sunucu uygun yanıtlar.

Ben ne önlemek için çalışıyoruz çerez sızdırma olduğunu düşünüyorum. Kurabiye istemci tarafında saklanan göz önüne alındığında, Psikofarmakolojik içeriğini değiştirerek kullanıcıların önlemek için yapabileceğiniz bir şey yok.

Çerezleri hassas bilgileri saklamak yok. Bunlar güvenli değil ve kolayca okumak ve müşteri tarafından değiştirilmiş.

Bunun yerine PHP oturumları kullanın. Onları güvenli tutmak için nasıl oturumları çalışır ve nasıl tam bir açıklama okunabilir one of my previous answers.

Esasen, güvence oturumlar iki cephede yapılır:

  • Preventing session fixation
    Regenerate a new session_id every X number of requests in order to reduce the amount of time an attacker has to steal the id.

  • Uniquely identify the client
    Use the IP and/or the User-Agent to uniquely identify the client and check that value on every page load against the ones stored in the session. This is really the only two choices you have to uniquely identify the client.

Hatta bir yerde olduğunu, hiçbir çözüm hamlede olduğunu ve session_id tehlikeye bir kez, hemen hemen için yapılır.

Yine, derinlemesine bir açıklama için, lütfen bkz my previous answer.

Neyin Sızdırma? HTTP veri aktarımı için sadece bir protokoldür, gerçekten kendisi sahte olurdu bir şey değil.

Yapılacak şey bilgi sızdırma önlemek için, ancak müşteri güven sadece asla değildir. Kurabiye açısından, çerez verileri kabul etmeden önce veritabanına karşı karşılaştırmak karma sözde rasgele değer saklayın.

UPDATED:

Bu özellikle size endişe konum tanımlama olduğu göz önüne alındığında, ben derinlemesine biraz daha gidersiniz. Çerezleri saklarken dert için iki ana şey vardır.

  1. Gerçek veri tutmayın
  2. Veritabanına karşı doğrulamak

O halde size kişisel verileri saklamak kullanıcıları ile bir site olmasını istiyorum diyelim. Çerez olarak, kullanıcı adı veya kullanıcı kimliği ve güvenlik belirteci Kullanıcı oturum bilinebilir olacak değilken de veritabanında saklanan bir karma güvenlik belirteci saklayabilir ve her oturum ile değişecektir. Herhangi bir kişisel bilgi asla çerez, veritabanında kalır.

Some more reading on best practice: http://jaspan.com/improved_persistent_login_cookie_best_practice

Eğer man-in-the-middle dinlemelerini engellemek istiyorsanız, size yeterli şifre suit kullanılan ve sunucu sertifikası {olduğunu kaydıyla, ağ üzerinden güvenli bir kanal oluşturur, HTTPS kullanmak isteyebilirsiniz [(2)]}.

Note: Özgün soru belirsiz oldu. Bu soru çerez sızdırma ile ilgili olduğunu artık açıktır.

Sızdırma? Tehlikeye kimliği ile tek gerçek sorun çerez hırsızlıktır.

Bir çerez o verildiği IP adresi karşı denetlemek için, HTTP başlıkları üzerinden gönderilen her Neler yapabileceğini, olduğunu. Örneğin:

<?php
session_start();
$rec = db_query('select count(*), ip from session where session_id = "' . session_id() . '"');

list ($last_count, $last_ip) = $rec[0];

if (! $last_count) {
    # add it into the database
    db_query('insert into session (session_id, ip) values (' .
        '"' . session_id() . '", ' .
        '"' . $_SERVER['REMOTE_ADDR'] . '"' . 
    ')');
} else {
    if ($last_ip != $_SERVER['REMOTE_ADDR']) {
        print "user has stolen a cookie!";
    }
}
?>

Ama bu ISS konular onları bir dinamik IP adresi insanlar üzerinde olumsuz bir etkisi olabilir.

Ben bu cevap oldu biliyorum ama ben kullanmak başka bir teknik, yönetim oturumları için özellikle yararlıdır eklemek istiyorum. Her zamanki gibi oturumları kullanın ama karıştırmak için dizin koruma ekleyin.

Bir oturum korsanı ele geçirilirse bu şekilde de dizin giriş almak gerekir.

Ben forum yönetimi için bu tekniği kullanabilirsiniz. Bazı forumlar kolayca kesmek ve bu bir hacker alma ve ciddi sorunları neden şansını azaltır vardır.

DC