Как мне найти IP-адрес веб-сайта, который отправляет данные методом POST на веб-страницу asp.net? - PullRequest
1 голос
/ 22 июля 2011

РЕДАКТИРОВАТЬ после ответов и комментариев:

Как я могу найти IP-адрес веб-сайта (например, веб-сайта банка), который отправляет на мой веб-сайт (страница asp.net с c #) некоторые конкретные и необходимые данные по почте?

Например:

<form id="form1" method="post" action="my web site url"></form>

Представьте, что у меня есть пользователь, который хочет что-то купить на моем веб-сайте!

Он / она открывает мой веб-сайт, выбирает продукт и нажимает кнопку «Оплатить». В настоящее время я могу получить их IP-адрес по следующим ответам.

Нажав «оплатить», я передаю некоторые данные, например order_id, на веб-сайт банка методом POST.

Когда пользователь заходит на веб-сайт банка и переводит немного денег, он хочет вернуть мой веб-сайт!

В настоящее время сайт банка отправляет некоторые данные, например transaction_id методом POST, на мой веб-сайт для проверки платежа.

По некоторым соображениям безопасности и для предотвращения симуляции этот transaction_id перевод между сайтом банка и моим веб-сайтом. Я хочу проверить IP-адрес банка при получении его данных POST (IP-адрес третьей стороны).

Например, я хочу найти ip-адрес (средний банк) Отправителя транзакции по следующему коду:

string transaction_id = Page.Request.Form["transaction_id"];  

Однако, если я проверю

string ipaddress = HttpContext.Current.Request.UserHostAddress;  

или

Request.ServerVariables("REMOTE_ADDR")

эти коды возвращают только этот IP-адрес пользователя, а не отправителя POST-данных.

Ответы [ 3 ]

2 голосов
/ 22 июля 2011
 Request.ServerVariables("REMOTE_ADDR")

Эта ссылка может дать более подробную информацию

http://thepcspy.com/read/getting_the_real_ip_of_your_users/

1 голос
/ 23 июля 2011

Можем ли мы использовать следующее?Или я что-то упустил?

string ipaddress = HttpContext.Current.Request.UserHostAddress;

1 голос
/ 22 июля 2011

Если вы используете 'Socket', то вы могли бы просто сделать что-то вроде примера :

s.Connect (lep);

// Using the RemoteEndPoint property.
Console.WriteLine ("I am connected to " + IPAddress.Parse (((IPEndPoint)s.RemoteEndPoint).Address.ToString ()) + "on port number " + ((IPEndPoint)s.RemoteEndPoint).Port.ToString ());

// Using the LocalEndPoint property.
Console.WriteLine ("My local IpAddress is :" + IPAddress.Parse (((IPEndPoint)s.LocalEndPoint).Address.ToString ()) + "I am connected on port number " + ((IPEndPoint)s.LocalEndPoint).Port.ToString ());
...