Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Пишу интересный скрипт. Нужна помощь. |

21.05.2007, 09:05
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
Пишу интересный скрипт. Нужна помощь.
Значит воть... Пишу крайне интересный и, что главное, полезный скрипт. Что именно он делает - озвучу через пару дней, а то сразу кто нить идею сопрет...
Короче проблемы такие...
1. Проферка ИПов.
Есть файл ip.txt. В нем записано:
Код:
127.0.0.1
127.0.0.2
127.0.0.3
127.0.0.4
Как реализовать проверку, содержится ли ИП человека, который ломица на сайт в списке? Понимаю, что это очень просто, но сам понять не могу...
PHP код:
if(ip есть в списке){
echo("Бобруйск прямо по коредору.");
} else {
echo("Всегда рады вашему визиту!");
};
Кто поможет - буду благодарен. Повторюсь - просьба не орать "Ламер! Тут все просто!".
2. Проверка файла на сайте.
Имеем сайт. Пусть будет http://ya.ru/. У него в корне лежит файл preved.html (http://ya.ru/preved.html). Как сделать, чтобы мой пхп скрипт
а) проверял наличие данного файла.
б) сравнивал его с эталонным (тоесть чтоб содержимое html кода 1 в 1 было с файлом, по которому сверяет скрипт.)
По пункту б у меня, честно говоря, идея была только одна: сравнивать контрольные суммы MD5. Но для этого надо получить файл както... Да и если сайтов 1000+, то скачивание и проверка всех файлов стает несколько неудобной...
Ну пока все. Есть еще пара вопросов, но с ними еще сам поковыряюсь (не люблю неразобравшись сразу орать "не работает")...
Помогите кто нить пожалуйста! 
|
|
|

21.05.2007, 09:19
|
|
Fail
Регистрация: 17.09.2005
Сообщений: 2,242
Провел на форуме: 9089375
Репутация:
4268
|
|
function get_user_ip()
{$strRemoteIP=$_SERVER['REMOTE_ADDR'];}
Получил ip, теперь записал его в лог, как вариант в бд. Потом сравниваешь каждого зашедшего с базой. Если (..) то (..) иначе (..)
__________________
...
|
|
|

21.05.2007, 09:39
|
|
Познающий
Регистрация: 08.03.2007
Сообщений: 65
Провел на форуме: 91259
Репутация:
16
|
|
запиши в какуюнить переменную то что вернет file('ip.txt'); и шпарь по циклу проверку на соответствие. про trim() не забудь, а то все проверки вернут false.
Alexsize
что за бредовая функция? память не экономим
PHP код:
function get_client_ip()
{
return (empty(@getenv('HTTP_X_FORWARDED_FOR')) ? getenv('REMOTE_ADDR') : getenv('HTTP_X_FORWARDED_FOR');
}
Последний раз редактировалось hackconnect; 21.05.2007 в 09:42..
|
|
|

21.05.2007, 10:11
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
Эмммм... Товарищи... Я наверное тупой, но у меня все сделано так:
PHP код:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$entry_line = "$ip\n";
$fp = fopen("ip.txt","a");
fputs($fp, $entry_line);
fclose($fp);
?>
С этим все нормально...
Вы мне полностью пример приведите как это проверять?  А то я чет недогоню...
А по 2 пункту вообще некаких идей чтоли?  Он для меня сейчас главный...  С 1 пунктом всетаки проще...
Последний раз редактировалось Linuxoid; 21.05.2007 в 10:17..
|
|
|

21.05.2007, 10:21
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
Как реализовать проверку, содержится ли ИП человека, который ломица на сайт в списке? Понимаю, что это очень просто, но сам понять не могу...
PHP код:
<?php
$ips = file('ip.txt');
foreach($ips as $ip){
if($ip == $_SERVER['REMOTE_ADDR']){
// v bobruysk
}
}
?>
PHP код:
<?php
$f = fopen('ip.txt', 'r');
while(!feof($f)){
if(rtrim(fgets($f)) == $_SERVER['REMOTE_ADDR']){
//v bobruysk
}
}
?>
PHP код:
<?php
$ips = file('ip.txt');
if(array_search($_SERVER['REMOTE_ADDR'], $ips)){
//v bobruysk
}
?>
выберай что нравится ..
2. Проверка файла на сайте.
PHP код:
<?php
$md5 = md5_file('url.php');
if(md5_file('url.php') == $md5){
echo 'ok';
}
?>
это если локальный файл..
|
|
|

21.05.2007, 10:29
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
GreenBear
Огромное спасибо!!!  Я примерно так и догадывался...  Но чтот сам сформулировать не смог реализацию...
|
|
|

21.05.2007, 10:45
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
всегда пожалуста ..
|
|
|

21.05.2007, 10:54
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
Ну короче еще по хранению инфы в файле вопрос...
Файл users.txt
Код:
pupkin|ya.ru|pupkin@mail.ru|lamer
root|linux.org.ru|root@ya.ru|admin
dialsoft|dialsoft.info|root@dialsoft.info|coder
И имеем скрипт:
PHP код:
...открываем файл users.txt, читаем все в массив (сепаратор |, все идет в переменную $u[])
if($u[1] == "ya.ru"){
УДАЛЯЕМ СТРОЧКУ ИЗ ФАЙЛА};
Вот как это реализовать я вообще непойму...  Ну, чтобы строка определенная удалялась всмысли.
Извините если сильно туплю... 
|
|
|

21.05.2007, 11:08
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
ну так же сделай через foreach по строкам..
PHP код:
<?php
$users = file('users.txt');
$f = fopen('users.txt', 'w'); fclose($f);
$f = fopen('users.txt' ,'a');
foreach($users as $user){
//tut razbey
if($u[1] != 'ya.ru'){
fwrite($f, $user."\n");
}
}
fclose($f);
?>
|
|
|

22.05.2007, 04:32
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
Еще есть дело...
Сравнение контрольной суммы файла на удаленном сервере с эталонным локальным файлом
PHP код:
<?php
$md5 = md5_file('http://example.ru/2.exe');
if(md5_file('2.exe') == $md5){
echo 'Ok';
} else {
echo 'Fufel';
};
?>
Вот как сделать, что если файл не найден (любой, хоть локальный, хоть удаленный), то чтоб выводилось "Not found", а не мат пхп на тему отсутствия файла? 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|