Показать сообщение отдельно
Старый 27.09.2008, 17:46
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 14  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Вот что пока получается. Это первые наброски, возможны недочеты в коде.

Код ПХП (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;
};
Пока что код громоздкий и неуклюжий в дальнейшем думаю попытаться упростить все это действие.

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