Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Определить IP пользователя (http://www.flasher.ru/forum/showthread.php?t=116293)

KiL33 26.09.2008 13:11

Ааа, ну и как это можно использовать?
Цитата:

Сообщение от __etc (Сообщение 766484)
IP вам не поможет

Почему IP не поможет?

CrazyFlasher 26.09.2008 13:17

гугл в помощь

KiL33 26.09.2008 13:43

Цитата:

Сообщение от CrazyFlasher (Сообщение 766525)
гугл в помощь

Насчет гугла я и без вас знаю, по теме пожалуйста.

Если у вас уже есть какая-то полезная информация могли бы и сейчас ссылочку скинуть, дабы не париться и не искать.

KiL33 27.09.2008 17:46

Вот что пока получается. Это первые наброски, возможны недочеты в коде.

Код ПХП (ip_count.php)(записываем ip пользователя)

Код:

<?php

$visit="";

$fh=fopen("ip_count.txt","r+");//чтение

flock($fh,LOCK_EX);//блокировка

$visit=strip_tags($_SERVER['REMOTE_ADDR']);


fputs($fh,$visit);//запись данных в файл

flock($fh,LOCK_UN);//разблокировка

fclose($fh);//закрытие файла

//Вывод в брузер
echo "HighScoresText=".$visit;

?>

Черный список (lib.xml)
Код:

<main>
    <ip id="0"  name=" -Блокированный IP- ">
    </ip>
 </main>

Код as:

Код:

//обращаемся для записи к ip_count.php и читаем IP зашедшего пользователя
ip_f=function():Void{

var myContent:XML = new XML();
var contentURL:String = "image/ip_lib/ip_count.txt";
myContent.onLoad = function(success) {
        if (success) { // Если документ загружен...
                ip_mes.text = myContent;
        check_ip();
        }
                url="http://localhost/MyWeb/image/ip_lib/ip_count.php";
my_load_vars=new LoadVars();
my_load_vars.load(url);
        }
myContent.load(contentURL);               
}
q1=setInterval(ip_f,50)

Смотрим наш черный список (lib.xml):

Код:

ip = new Array();
var ipX = new XML();
ipX.ignoreWhite = true;
ipX.load("image/ip_lib/lib.xml");
ipX.onLoad = function() {
        lenxml = ipX.firstChild.childNodes.length;
        for (i=0; i<lenxml; i++) {
                ip[i] = ipX.firstChild.childNodes[i].attributes.name;
        }
};
var all_ip:String = new String();
iplen = ip.length;
start_ip = function () {
        all = new Array();
        xa = new Array();
};
check_ip = function () {
        start_ip();
        num = 0;
        ipa = 0;
        all = all_ip.split(" ");
        alllen = all.length;
        iplen = ip.length;
                        for (j=0; j<alllen; j++) {
                for (i=0; i<iplen; i++) {
                        all[j] = all[j].toLowerCase();
                        index = all[j].indexOf(ip[i].toLowerCase());
                        if (index>=0) {
                                xa[num] = all[j];
                                num++;
                                break;
                        }
                }
        }
        ipa = xa.length;
        if (num>0) {
                //!!
                //Делаем с негодяем, что хотим. В данном случае блокируем функционал кнопок для отправки сообщений
                //!!
        but1.enabled = false
        but2.enabled = false
        but3.enabled = false
        }
        delete all;
};

Пока что код громоздкий и неуклюжий в дальнейшем думаю попытаться упростить все это действие.

Пишите свои отзывы. Может быть, у кого-то будут еще какие-нибудь идеи.

Mnilionic 28.09.2008 03:06

зачем так сложно? пишите ip адреса в файл через разделитель (запятую например) а потом при чтении сайта все го три строки кода на проверку:
1 читаем фаил.
2 разбиваем строку в масив.
3 поиск по массиву

а вообще от роботов ставте капчу, а от недобросовестных пользователей тока модерация. ибо ip - это не идентификатор пользователя

KiL33 28.09.2008 08:57

Цитата:

Сообщение от Mnilionic (Сообщение 766852)
зачем так сложно?

Настроение было хорошее))


С капчей пока совсем не разобрался.

KiL33 28.09.2008 13:43

Цитата:

Сообщение от Mnilionic (Сообщение 766852)
пишите ip адреса в файл через разделитель (запятую например) а потом при чтении сайта все го три строки кода на проверку:
1 читаем фаил.
2 разбиваем строку в масив.
3 поиск по массиву

ничего пока не получается.

Не хочу попрошайничать), но все же) Mnilionic если будет время скинь какой-нибудь простейший пример того как ты это видишь, ибо понимаю, что мой пример далеко ни есть идеал!)

Mnilionic 28.09.2008 16:36

делайте проверку не во флеше, а на стороне сервера: если всё ок сохраняем сообщение, если нет - дозвиданья

KiL33 28.09.2008 17:26

А где код? :)

Division 28.09.2008 17:35

Цитата:

А где код?
ИМХО это у тебя надо спросить (:


Часовой пояс GMT +4, время: 01:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.