0

ASPWeb サイトを作成しており、セッションを次のように保存しています。

public List<User> getUser(string username, string password)
{
   SELECT * FROM User WHERE Username = @username AND Password = @password
}

List<User> userList = Database.getUser(txtUsername.Text, txtPassword.Text)

foreach(User u in userList)
{
    Session["Username"] = u.Username;
}

これはセッションを保存する良い方法ですか? Cookie を使用してハッキングなどを行うことはできますか?

それとも、あなたたちは私をもっと好きですか?

ありがとう!

4

1 に答える 1

0

簡単なオプションは、Cookies.Secure プロパティを true に設定して、Cookie を Web サイトの Https 部分のみに制限することです。MSDNを確認してください。

このプロパティが true の場合、Cookie は https:// リクエストでのみ送信できます。

ただし、まだやるべきことはたくさんあります。以下のいくつかのポイントは、全体像を把握するのに役立ちます。

  • 盗聴によってセッション トークンを盗むことは、クロスサイト スクリプティングよりもはるかに困難です (脆弱性がある場合)。ネットワーク (ユーザーの LAN や ISP など) へのアクセスが必要です。したがって、リスクベースの優先順位に従って、開発者は XSS の問題に最初に取り組む必要があります。XSS の問題は、はるかに大きな攻撃対象領域を提供するためです (攻撃の可能性がはるかに高くなります)。

  • セッションがハッキングされることによるビジネスへの影響が大きい場合 (たとえば、後で Web ショップで使用するためにクレジット カードを保管する場合)、サイト全体を HTTPS に制限し、前述のように Cookie を安全にする方がよい場合があります。

いくつかの有用なリソース:

于 2013-07-20T04:00:41.050 に答える