[Python] RU GEO IP Checker скрипт для проверки русских IP адресов через сайт http://ipgeobase.ru/ , насколько я понял то они там мутят это дело через гугль, ограничение - 4к IP за один раз, прокся - для тех кто сидит в инете за проксей, остальным оставить пустым Версия Python - 2.6.2, требует Tkinter (на windows установлен по умолчанию) "Так как нужно" переделывать лень, сам не люблю глобалы но лень их переделывать , тем более что тут пох) Скриншот : Code: #!usr/bin/env/python #-*encoding:utf-8-*- #RU GEO IP Checker #(c) login999 import re import urllib2 import tkFileDialog import tkMessageBox from Tkinter import * from xml.dom.minidom import Document import xml.etree.cElementTree def Gui(): request_xml = None answer_xml = None def Load_Button(): global request_xml try: with open(tkFileDialog.askopenfilename()) as source_ips: ips_list = re.findall(r"(\d+\.\d+\.\d+\.\d+)", source_ips.read()) request_xml = create_xml(ips_list) GetButton["state"] = "normal" ProxyEntry["state"] = "normal" LoadButton["state"] = "disabled" except Exception, e: tkMessageBox.showerror(u"Ошибка", e) def Save_Button(): global answer_xml try: with open(tkFileDialog.asksaveasfilename(), "w") as out: answer = parse_answer(answer_xml) out.write(answer) LoadButton["state"] = "normal" SaveButton["state"] = "disabled" except Exception, e: tkMessageBox.showerror(u"Ошибка", e) def Get_Button(): global answer_xml global request_xml proxy = ProxyEntry.get() if proxy: proxy_handler = urllib2.ProxyHandler( { "http": "http://"+proxy+"/" } ) opener = urllib2.build_opener(proxy_handler) urllib2.install_opener(opener) else: pass request = urllib2.Request("http://194.85.91.253:8090/geo/geo.html", request_xml) try: answer_xml = urllib2.urlopen(request).read() GetButton["state"] = "disabled" ProxyEntry["state"] = "disabled" SaveButton["state"] = "normal" except Exception, e: tkMessageBox.showerror(u"Ошибка", e) MainWindow = Tk() MainWindow["bd"] = 5 MainWindow.title(u"RU GEO IP Checker") MainWindow.resizable(width=False, height=False) ProxyFrame = Frame(MainWindow) ProxyFrame.grid(row=0, column=0, columnspan=2) ProxyLabel = Label(ProxyFrame, text=u"Прокси:", anchor="w") ProxyLabel.grid(row=0, column=0) ProxyEntry = Entry(ProxyFrame, state="disabled") ProxyEntry.grid(row=0, column=1) LoadButton = Button(MainWindow, text=u"Ip адреса", font="system 10", width=12, command=Load_Button) LoadButton.grid(row=1, column=0, sticky="e") SaveButton = Button(MainWindow, text=u"Сохранить", font="system 10", width=12, height=1, state="disabled", command=Save_Button) SaveButton.grid(row=2, column=0, sticky="e") GetButton = Button(MainWindow, text=u"Получить", font="system 10", width=12, state="disabled", command=Get_Button) GetButton.grid(row=1, column=1, rowspan=2, sticky="wns") MainWindow.mainloop() def parse_answer(answer_xml): full_answer = "" answer = xml.etree.cElementTree.fromstring(answer_xml) answer_ips = answer.getchildren() for ip in answer_ips: ip_answer = "" ip_adress = ip.get("value") ip_answer = "{0}|".format(ip_adress) ip_info = ip.getchildren() for element in ip_info: ip_answer = "{0}{1}|".format(ip_answer, element.text.encode("cp1251")) full_answer = "{0}{1}\n".format(full_answer, ip_answer) return full_answer def create_xml(ips_list): doc = Document() ipquery = doc.createElement("ipquery") doc.appendChild(ipquery) fields = doc.createElement("fields") all = doc.createElement("all") fields.appendChild(all) inetnum = doc.createElement("inetnum") fields.appendChild(inetnum) inet_descr = doc.createElement("inet-descr") fields.appendChild(inet_descr) inet_status = doc.createElement("inet-status") fields.appendChild(inet_status) city = doc.createElement("city") fields.appendChild(city) region = doc.createElement("region") fields.appendChild(region) district = doc.createElement("district") fields.appendChild(district) lat = doc.createElement("lat") fields.appendChild(lat) lng = doc.createElement("lng") fields.appendChild(lng) ipquery.appendChild(fields) ip_list = doc.createElement("ip-list") for ip in ips_list: ip_element = doc.createElement("ip") ip_value = doc.createTextNode(ip) ip_element.appendChild(ip_value) ip_list.appendChild(ip_element) ipquery.appendChild(ip_list) return doc.toxml() if __name__ == "__main__": Gui()
Чекер CC на перле, может и пригодится =) Code: #!usr/bin/perl system('cls'); system ('color A'); print " \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \n"; print "--###########################--\n"; print "--#### C0d3d by YOSYA ####--\n"; print "--##### 44I-44I-448 ######--\n"; print "--###########################--\n"; print " ///////////////////////////--\n"; print "\n"; print "\n"; use LWP::UserAgent; print "Enter CC number \n> "; $cc=<stdin>; $url="http://credit-card-information.elliottback.com/?number=".$cc; $client = LWP::UserAgent->new( ) or die; $answer = $client->get($url); @info=$answer->content =~ /<b>(.*)<\/b>/g; print join "\n", @info; print "\n"; print "\n"; print "\n"; print "Udachi )))\n";
Понадобилось тут привести знакомому лист прокси после брута IPD в нормальный вид, а програмку он, как водится, готовую не нашел Вот набросал простенький код, может кому пригодится.. Code: #!/usr/bin/env python3 import sys filename = sys.argv[1] with open(filename) as fin: with open("out.txt", "a") as fout: for line in fin: i = 0 i = line.find(";", i) if i > -1: fout.write(line[0:i] + '\n') else: fout.write(line + '\n') [+] Откопал у себя ) Делает из файлов с именами и зонами домены. Делал, когда писал чекер доменов. Code: #!/usr/bin/env python3 import sys def get_from_file(filename): temp = [] for line in open(filename): temp.append(line.strip()) return temp fnames = sys.argv[1] fzones = sys.argv[2] fileout = open("out.txt", "w") for name in get_from_file(fnames): for zone in get_from_file(fzones): fileout.write("{0}.{1}\n".format(name,zone))
VKONTAKTE.RU - Скрипт сохранения фотографий с альбомов. Скрипт написан на РНР, посредством cURL, сохраняет из указанного альбома все фотографии, можно как свои так и чужие "дампить" фотки. Скрины: DOWN ЗЫ нестал запихивать в архив фотки, поленился =)
Вконтакте.ру Скрипт логинится вконтакте и сохраняет куки в файл. PHP: <?php // vkCookie by art2222 require_once 'class.php'; $cs = new phpsploit(); $out = array(); foreach (file('logins.txt') as $value) { $cs -> cookiejar('1'); $cs -> allowredirection('1'); list($email, $pass) = explode(':', trim($value)); $cs -> post('http://pda.vkontakte.ru/login?pda=index&acknowledge=0',"email=$email&pass=$pass"); array_push($out,$cs->cookie_str); } file_put_contents('cookie.txt',implode($out,"\r\n")); ?> Скачать вместе с либой
Делаем скриншот любого сайта (браузер Safari) PHP: <?php $url = 'http://ya.ru'; //Тут можем установить качество картинки и ширину экрана. $url = 'http://www.browsrcamp.com/index.php?url='.rawurlencode($url).'&width=1280&quality=2'; preg_match('#<a href="(.*)" target="_blank">#i', @file_get_contents($url) , $arr); echo $arr[1]; //Здесь ссылка на скриншот. ?>
По заказу из этой темы написал парочку небольших реплэйсеров. 1. Создает файл, в котором указанная последовательность символов заменена на новую. Code: #!/usr/bin/env python3 filename = str(input("Enter file name: ")) S_old = str(input("Enter first string: ")) S_new = str(input("Enter second string: ")) with open(filename) as fin: with open("out.txt", "a") as fout: for line in fin: if line.find(S_old) == -1: fout.write(line) else: new_line = line for i in range(new_line.count(S_old)): new_line = new_line.replace(S_old, S_new) fout.write(new_line) 2. Создает файл, в котором все транслитерируемые буквы английского алфавита заменены на русские, а русские буквы, имеющие внешне сходные аналоги в английском алфавите, на английские. Code: #!/usr/bin/env python3 import sys Sym_for_change_ru = "аеорсухАВЕКМНОРСТХ" Sym_for_change_en = "aeopcyxABEKMHOPCTX" def Change_symbol(sym, lang): if lang == "ru": return Sym_for_change_en[Sym_for_change_ru.find(sym)] else: return Sym_for_change_ru[Sym_for_change_en.find(sym)] filename = sys.argv[1] Buffer = None with open(filename) as fin: with open("out.txt", "w") as fout: for line in fin: for word in line: for symbol in word: if symbol in Sym_for_change_ru: fout.write(Change_symbol(symbol, "ru")) elif symbol in Sym_for_change_en: fout.write(Change_symbol(symbol, "en")) else: fout.write(symbol)
Вот набросал скриптик. Решения квадратных уравнений. Для школьников самый раз PHP: <head> <title>Квадратное уравнения</title> <link rel="stylesheet" type="text/css" media="all" href="a.css"> </head> <body> <br><br><br><br> <form method="get"><center>Введите задание</center><center> <input size="2" type=text name=a value="<?php echo $a;?>" >x2+ <input size="2" type=text name=b >x <input size="2" type=text name=c >=0 <br> <input type=submit value=Обработать></form></center> <br><br> <br><br><br> <centr><h1> <?php $a = $_GET['a']; $b = $_GET['b']; $c = $_GET['c']; $d = $b*$b-4*$a*$c; @$x1 = (-$b-sqrt($d))/(2*$a); @$x2 = (-$b+sqrt($d))/(2*$a); if (!$a) echo 'заполните поля'; elseif ($d<0) { echo $a.'x<sup>2</sup>+'.$b.'x+'.$c.'=0<br>'; echo 'D='.$b.'<sup>2</sup>-4'.$a.'*'.$c.'<br>'; echo 'D='.$d.'<0 Не имеет решения'; } else { echo $a.'x<sup>2</sup>+'.$b.'x+'.$c.'=0<br>'; echo 'D='.$b.'<sup>2</sup>-4'.$a.'*'.$c.'<br>'; echo 'D='.$d; echo '='.sqrt($d).'<sup>2</sup><br>'; echo 'X<sub>1</sub>='.'-'.$b.'-'.sqrt($d).'/2'.'*'.$a; echo '=<strong>'.$x1.'</strong><br>'; echo 'X<sub>2</sub>='.'-'.$b.'+'.sqrt($d).'/2'.'*'.$a; echo '=<strong>'.$x2.'</strong><br><br><br>'; echo 'Ответ: X<sub>1</sub>='.$x1.'; X<sub>2</sub>='.$x2; } ?> </h1></center> примеры Пошу не пинать))
Скрипт парсинга файла passwd для создания комболиста из логинов. Пригодится для брута FTP, SSH, etc, так как часто бывает, что на больших хостингах логин и пароль какого-нибудь пользователя (пользователей) совпадают. Code: #!/usr/bin/python import sys if len(sys.argv) != 3: print "\nUsage: pparser.py <passwd file> <output file>" try: out = open (sys.argv[2], 'w') for line in open(sys.argv[1], 'r').readlines(): l=line.split(':')[0] out.write(l+':'+l+'\n') print "\n[+] Successfull! Combolist for bruteforce created" out.close() except: print "\n[-] Error: check your passwd file path" pass
может кому пригодится часть кода, взято с обменника. PHP: <?php ******* $filename = "./uploads/".$file; // set the download rate limit $download_rate = 150; // set the download rate limit (premium) // $download_rate = 5000; // send headers header("Content-Type: application/unknown"); header("Content-type: application/octet-stream"); // FireFox header("Content-type: application/octetstream"); // IE header("Content-Disposition: inline; filename=". str_replace(" ", "_", $file)); header('Content-length: ' . (string)(filesize($filename))); // flush content flush(); // open file stream $f = fopen($filename, "r"); while(!feof($f)) { // send the current file part to the browser print fread($f, round($download_rate * 1024)); // flush the content to the browser flush(); // sleep one second sleep(1); } // close file stream fclose($f); ***** ?>
Cегодня понадобился, думаю, может еще кому-нибудь пригодится. Code: # gdns.pl # Index all subdomains from a domain without using zone transfer or dns resolving. # Intended use for this script is to enumerate all subdomains for a given domain. # Author: DiabloHorn # Date: 16-02-2008 # Version: 0.3 #changes # fixed the - bug # fixed the hang bug when it reached the end of the google results # ###TODO### # implement rotating proxy support ###POSSIBLE BUGS### # the need to ctrl+c if results are less then 100 use LWP::UserAgent; use HTML::LinkExtor; use URI::URL; $numArgs = $#ARGV + 1; if($numArgs != 1){ print "gdns.pl <base domain>\n"; print "Example: gdns.pl kd-team.com\n"; print "Should find all subdomains indexed by google."; exit(1); } #intentionally not using quotemeta, cause it fucks up in the search $searchitem = $ARGV[0]; #if you change this....change the regexes. my $baseSEngine = "http://www.google.com"; #start url for searching $url = URI->new("$baseSEngine/search?hl=en&q=site%3A$searchitem"); $ua = LWP::UserAgent->new; $ua->agent('Opera/9.20 (Windows NT 6.0; U; en)'); #this should help us a little to fool google. print "[*] starting subdomain search on $searchitem\n"; #hash containing all found sub domains my %allurls = (); #hash containing all the "next" urls from google my %nexturls = (); #callback for each request to parse the page sub callback { my($tag, %attr) = @_; #for this poc we are only interested in the <a href> tags return if $tag ne 'a'; my @links = values %attr; foreach $link(@links){ #extract all urls that contain the base domain if($link =~ m!(^(http://|https://|ftp://|irc://)(([a-zA-Z0-9\-\.]*)(\.+))*$searchitem)!io){ if (!exists $allurls{$1}){ $allurls{$1} = $1; print "$1\n"; } } #extract the google next urls if($link =~ m!/search\?q=site:$searchitem&hl=\w+&start=\d+&sa=\w!io){ if (!exists $nexturls{$link}){ $nexturls{$link} = $link; } } } } #setup the callback $p = HTML::LinkExtor->new(\&callback); # Request document and parse it as it arrives $res = $ua->request(HTTP::Request->new(GET => $url),sub {$p->parse($_[0])}); $visitedGURLS = 0; #for the moment beeing assume 10000 results. while(1){ if($visitedGURLS == scalar keys(%nexturls)){ last; } foreach $nurl(sort keys(%nexturls)){ my $value = $nexturls{$nurl}; #prevent parsing pages twice if($value ne "visited"){ my $temp = URI->new($baseSEngine.$value); #you can comment this out if you only want clean finds. #print "[*] searching next page $temp\n"; $res = $ua->request(HTTP::Request->new(GET => $temp),sub {$p->parse($_[0])}); $nexturls{$nurl} = "visited"; $visitedGURLS++; sleep 3; #try and prevent getting blocked by google } } }
[python] Парсер мейлов по резюме на rabota.mail.ru Парсер мейлов по резюме на rabota.mail.ru country - код страны lang - язык sex - пол edu - образование Все эти значения можно получить в сорце http://rabota.mail.ru/resume_search/ delay - задержка в секундах get_fio (1 или 0) - получать ли ФИО get_phone (1 или 0) - получать ли телефон (если есть) Резальтат будет записан в файл output.txt в кодировке utf-8. Кому нужна другая кодировка правьте сами Формат: "[email protected]", "phone", "fio" Code: #!/usr/bin/env python # -*- coding: utf-8 -*- import re import urllib import time country = '0' lang = '0' sex = '0' edu = '0' delay = 0 get_fio = 1 get_phone = 1 page = 1 count = 1 output_file = open('output.txt', 'w') while True: source = urllib.urlopen('http://rabota.mail.ru/resume_search/?go=1&search_type=1&order_type=1&country=' + country + '&spec_group=0&salary_currency=2&lang=' + lang + '&lang_level=0&sex=' + sex + '&edu=' + edu + '&resume_on_page=3&publics=0&table=0&page=' + str(page)).read() if len(re.findall('<div class="full"><a href="/resume/(.*?)/"', source)) != 0: for id in re.findall('<div class="full"><a href="/resume/(.*?)/"', source): vacancy = urllib.urlopen('http://rabota.mail.ru/resume/' + id).read() email = re.findall('<td><a href="mailto:.*?">(.*?)</a></td>', vacancy)[0] output = '"' + email + '"' if get_phone: try: phone = re.findall('\t\t\t\t\t\t<td>(\+.*?)</td>', vacancy)[0].replace(' ', '') except: phone = 'None' output += ', "' + phone + '"' if get_fio: fio = re.findall('<div class="cmp_name">(.*?)<br />', vacancy)[0] output += ', "' + fio + '"' print str(count) + '\t' + email output_file.write(output.decode('windows-1251').encode('utf-8') + '\n') output_file.flush() count += 1 time.sleep(delay) page += 1 else: break
Данный скрипт нужен для определения статуса страницы в социальной сети vkontakte.ru... писал для себя: index.php PHP: <? session_start(); # Made by # RE5PE(1 # ICQ: 8-59-59-1 if ($_SESSION['var'] == 'false') { $_SESSION['error'] = null; } ?> <html> <!--Made by RE5PE(!--> <head> <title>Проверка статуса в vkontakte.ru!</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <? include "menu.php"; ?> <div id="top"> <form action="check.php" method="POST"> Чтобы проверить статус человека в социальной сети vkontakte.ru, введите id страницы в поле ниже:<br> <br> ID: <input type="text" maxlength="15" name="id" size="30" id="id"> <input type="submit" value="Проверить!" id="b"> </form> <? if ($_SESSION['var'] == 'true') { echo "<div id='error'>"; echo $_SESSION['error']; echo "</div>"; $_SESSION['var'] = 'false'; } ?> </div> <div id="main"> Область быстрой проверки:<br> <br> <? echo "<TABLE id='t'>"; for ($i=1; isset($_COOKIE['id'.$i]); $i++) { echo "<TR><TD>".$_COOKIE['av'.$i]."</TD>"; echo "<TD valign='top'> ID: "; echo $_COOKIE['id'.$i]."<br>"; echo $_COOKIE['fio'.$i]."<br><br>"; $im = $_COOKIE['id'.$i]; echo " <form action='check.php' method='POST'> <input type='hidden' name='id' value='$im'> <input type='submit' value='Проверить!' id='b'> </form> "; echo "</TD></TR>"; } $max = $_COOKIE['test']; echo "</TABLE> <form action='check.php' method='POST'> <input type='hidden' name='clear' value='$max'> <input type='submit' value='Очистить список!' id='b2'> </form>"; ?> </div> <div id="c"> <center>Copyright © RE5PE(1 2009<br> <a href="http://www.free-lance.ru/users/1RESPECT1/" target="_blank" title="удаленная работа, менеджеры, дизайнеры, программисты"><img src="http://www.free-lance.ru/service/referral/images/btn_risker2.gif" border="0" alt="1RESPECT1 на Free-lance.ru"></a></center> </div> </body> <!--Made by RE5PE(!--> </html> menu.php PHP: <div id="top0"> <a href="index.php" style="color: white;">Home</a> <font style="color: white;">|</font> <a href="about.php" style="color: white;">About</a> </div> check.php PHP: <?php # Made by # RE5PE(1 # ICQ: 8-59-59-1 session_start(); $www = 'http://vkontakte.ru/login.php'; include "conf.php"; set_time_limit(0); if (isset($_POST['clear'])) { $dat = mktime(0,0,0,1,1,2020); $clear = $_POST['clear']; setcookie('test', '', $dat); $clear++; for ($i=1; $i<$clear; $i++) { setcookie('id'.$i, '', $dat); setcookie('av'.$i, '', $dat); setcookie('fio'.$i, '', $dat); } $_SESSION['error'] = "Del!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (isset($_POST['id'])) { $id = $_POST['id']; } if ($id == '') { $_SESSION['error'] = "Слышь, вася! Заполни поле то, да!?"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (strlen($id) > 15) { $_SESSION['error'] = "Ты вводишь больше 15 символов!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (ctype_digit($id) != 'true') { $_SESSION['error'] = "Ты думай чё пишешь, вася! Число вводи!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } $id = htmlspecialchars(stripslashes($id)); $id = trim($id); $id = str_replace("–", "", $id); $id = str_replace("'", "", $id); $error = false; function curl($url,$post) { $curl = curl_init(); //Инициализация CURL curl_setopt($curl, CURLOPT_HEADER, true); //вывод заголовков в результате curl_setopt($curl, CURLOPT_POST, True); //Включаем использование метода POST curl_setopt($curl, CURLOPT_RETURNTRANSFER, True); //Включаем вывод результата curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); //Задаём используемый ююезр-агент curl_setopt($curl, CURLOPT_FOLLOWLOCATION, True); //Включаем обработку редиректов curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt"); //Задаём файл для кукисов curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt"); //Задаём файл для кукисов curl_setopt($curl, CURLOPT_URL, $url); //Задаём сайт отправки curl_setopt($curl, CURLOPT_POSTFIELDS, $post); //Задаём текст отправки POST (переменная=значение) $result = curl_exec($curl); //Выполняем запрос curl_close ($curl); //Закрываем CURL return $result; } $result = curl($www, $post); // авторизация if (!$result) { $_SESSION['error'] = "Ошибка авторизации. Попробуйте позже..."; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } flush(); $ch=curl_init('http://vkontakte.ru/search.php?id='.$id); // поиск страницы с указ id if (!$ch) { $_SESSION['error'] = "Ошибка! Попробуйте позже..."; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } curl_setopt($ch,CURLOPT_FOLLOWLOCATION ,true ); curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true ); curl_setopt($ch,CURLOPT_COOKIEFILE ,'cookie.txt' ); $res=curl_exec($ch); if (!$res) { $_SESSION['error'] = "Ошибка! Попробуйте позже..."; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } $av = preg_match('/\<img[^\>]+src=(["\'])(.+?)\\1[^\>]*\>/is',$res,$found); $av = "<img src=$found[2] border=1px solid black hspace=20 vspace=10><br>"; $on = strstr($res,"<span class='bbb'>Online</span>"); $in=" <a href='$u/index.php'>На главную</a>"; if (preg_match_all('#<div style="overflow: hidden;"><a href=.*[^>]>(.*)</a></div>#isU',$res,$name)==false) { if (preg_match_all('#<div style="overflow: hidden;">(.*)</div>#isU',$res,$name)==false) { $error = true; } else { } } ?> <html> <!--Made by RE5PE(!--> <head> <title>Проверка статуса в vkontakte.ru!</title> <link href="style.css" rel="stylesheet" type="text/css"> <base href="http://vkontakte.ru"> </head> <body> <div id="top0"> <a href="<? echo $u; ?>/index.php" style="color: white;">Home</a> <font style="color: white;">|</font> <a href="<? echo $u; ?>/about.php" style="color: white;">About</a> </div> <div id="top"> <form action="<? echo $u; ?>/check.php" method="POST"> Чтобы проверить статус человека в социальной сети vkontakte.ru, введите id страницы в поле ниже:<br> <br> ID: <input type="text" maxlength="15" name="id" size="30" id="id"> <input type="submit" value="Проверить!" id="b"> </form> <? if ($_SESSION['var'] == 'true') { echo "<div id='error'>"; echo $_SESSION['error']; echo "</div>"; $_SESSION['var'] = 'false'; } ?> </div> <div id="main"> Результат:<br> <br> <div id="s"> <? if ($error==true) { echo "<div id='l'>Страницы с таким id не существует!</div></div>$in"; } else { if ($on) { echo "<div id='l'>"; echo $av."</div>"; echo "<div id='l2'>ID: $id "; echo $name[0][0]; $fio = $name[0][0]; echo "<br><font style='color: green; font-size: 12px;'>Online!</font><form action='$u/add.php' method='post'> <input type='hidden' value='$id' name='id'> <input type='hidden' value='$av' name='av'> <input type='hidden' value='$fio' name='fio'> <input type='submit' value='(+) Добавить в область быстрой проверки' id='g'></div></div>"; } else { echo "<div id='l'>"; echo $av."</div>"; echo "<div id='l2'>ID: $id"; echo $name[0][0]; $fio = $name[0][0]; echo "<br><font style='color: red; font-size: 12px;'>Offline!</font><form action='$u/add.php' method='post'> <input type='hidden' value='$id' name='id'> <input type='hidden' value='$av' name='av'> <input type='hidden' value='$fio' name='fio'> <input type='submit' value='(+) Добавить в область быстрой проверки' id='g'></div></div>"; } echo $in."</div>"; } ?> </div> </div> <div id="c"> <center>Copyright © RE5PE(1 2009<br> <a href="http://www.free-lance.ru/users/1RESPECT1/" target="_blank" title="удаленная работа, менеджеры, дизайнеры, программисты"><img src="http://www.free-lance.ru/service/referral/images/btn_risker2.gif" border="0" alt="1RESPECT1 на Free-lance.ru"></a></center> </div> </body> <!--Made by RE5PE(!--> </html> add.php PHP: <? session_start(); if (isset($_POST['id'])) { $id = $_POST['id']; } else { $_SESSION['error'] = "Ошибка!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (isset($_POST['av'])) { $av = $_POST['av']; } else { $_SESSION['error'] = "Ошибка!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (isset($_POST['fio'])) { $fio = $_POST['fio']; $fio = strip_tags($fio); } else { $_SESSION['error'] = "Ошибка!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if ($id == '') { $_SESSION['error'] = "Слышь, вася! Заполни поле то, да!?"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (strlen($id) > 15) { $_SESSION['error'] = "Ты вводишь больше 15 символов!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } if (ctype_digit($id) != 'true') { $_SESSION['error'] = "Ты думай чё пишешь, вася! Число вводи!"; $_SESSION['var'] = 'true'; header("Location: index.php"); exit; } $id = htmlspecialchars(stripslashes($id)); $id = trim($id); $id = str_replace("–", "", $id); $id = str_replace("'", "", $id); $fio = htmlspecialchars(stripslashes($fio)); $fio = trim($fio); $fio = str_replace("–", "", $fio); $fio = str_replace("'", "", $fio); $dat = mktime(0,0,0,1,1,2019); if (!isset($_COOKIE['test'])) { $i=1; setcookie('test', $i, $dat); } else { $i = $_COOKIE['test']; $i=$i+1; setcookie('test', $i, $dat); } setcookie('id'.$i, $id, $dat); setcookie('av'.$i, $av, $dat); setcookie('fio'.$i, $fio, $dat); header("Location: index.php"); ?> conf.php PHP: <? ////////////////////////////////////////////////////////////////////////////////////////////////////////////// $post = "email=ваше@мыло.ru&pass=ЗдесьПароль"; # mail и пароль от vkontakte через, которого будем чекать $u = "http://вашСайт.Ru"; # url вашего сайта, где будет размещен скрипт ///////////////////////////////////////////////////////////////////////////////////////////////////////////// ?> style.css PHP: body { background: black; margin: 0px; padding: 0px; font-family: Arial, Tahoma, Verdana; } #top { margin-left: 20%; width: 60%; background: #fc0; padding: 10px; padding-top: 15px; font-size: 14px; font-weight: bold; border: 1px solid #ecb202; } #top0 { margin-left: 20%; width: 60%; padding: 10px; padding-top: 15px; font-size: 14px; font-weight: bold; margin-top: 20px; word-spacing: 1 ex; } #id { border: 1px solid black; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; padding: 3px; font-size: 10px; background: white; } #b { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: white; padding-bottom: 2px; background: black; } #b2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: white; padding-bottom: 2px; background: red; } #g { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: white; padding-bottom: 2px; background: green; border: 1px solid black; } #main { margin-top: 30px; margin-left: 20%; width: 60%; background: #fc0; padding: 10px; padding-top: 15px; font-size: 14px; font-weight: bold; border: 1px solid #ecb202; line-height: 24px; } #ab { margin-top: 30px; margin-left: 20%; width: 60%; background: #fc0; padding: 10px; padding-top: 15px; font-size: 14px; font-weight: bold; border: 1px solid #ecb202; line-height: 24px; height: 190px; } #c { margin-top: 10px; margin-left: 20%; width: 60%; padding: 10px; padding-top: 15px; font-size: 12px; color: white; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 28px; } #error { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background: #92cf01; border: 1px solid black; padding: 10px; width: auto; } #l { float: left; } #l2 { padding-top: 10px; float: left; line-height: 20px; } #s { height: 35%; } a { color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; text-decoration: none; } a:active { color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; text-decoration: none; } a:hover { color: blue; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; text-decoration: underline; } #t { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; line-height: 20px; } + файл cookie.txt с правами 666 Возможности: (+) Проверка статуса по id страницы – online|offline; (+) Область быстрой проверки – добавление/удаление; (+) Наряду с этим отображается фотография, имя контакта;
javascript, вычисляет md5 строки, копирайты оставил Code: function md5 ( str ) { // http://kevin.vanzonneveld.net // + original by: Webtoolkit.info (http://www.webtoolkit.info/) // + namespaced by: Michael White (http://getsprink.com) // + tweaked by: Jack // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Brett Zamir (http://brettz9.blogspot.com) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // - depends on: utf8_encode // * example 1: md5('Kevin van Zonneveld'); // * returns 1: '6e658d4bfcb59cc13f96c14450ac40b9' var xl; var rotateLeft = function(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); }; var addUnsigned = function(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } }; var _F = function(x,y,z) { return (x & y) | ((~x) & z); }; var _G = function(x,y,z) { return (x & z) | (y & (~z)); }; var _H = function(x,y,z) { return (x ^ y ^ z); }; var _I = function(x,y,z) { return (y ^ (x | (~z))); }; var _FF = function(a,b,c,d,x,s,ac) { a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b); }; var _GG = function(a,b,c,d,x,s,ac) { a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b); }; var _HH = function(a,b,c,d,x,s,ac) { a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b); }; var _II = function(a,b,c,d,x,s,ac) { a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac)); return addUnsigned(rotateLeft(a, s), b); }; var convertToWordArray = function(str) { var lWordCount; var lMessageLength = str.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=new Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount)<<lBytePosition)); lByteCount++; } lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition); lWordArray[lNumberOfWords-2] = lMessageLength<<3; lWordArray[lNumberOfWords-1] = lMessageLength>>>29; return lWordArray; }; var wordToHex = function(lValue) { var wordToHexValue="",wordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; wordToHexValue_temp = "0" + lByte.toString(16); wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length-2,2); } return wordToHexValue; }; var x=[], k,AA,BB,CC,DD,a,b,c,d, S11=7, S12=12, S13=17, S14=22, S21=5, S22=9 , S23=14, S24=20, S31=4, S32=11, S33=16, S34=23, S41=6, S42=10, S43=15, S44=21; str = this.utf8_encode(str); x = convertToWordArray(str); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; xl = x.length; for (k=0;k<xl;k+=16) { AA=a; BB=b; CC=c; DD=d; a=_FF(a,b,c,d,x[k+0], S11,0xD76AA478); d=_FF(d,a,b,c,x[k+1], S12,0xE8C7B756); c=_FF(c,d,a,b,x[k+2], S13,0x242070DB); b=_FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); a=_FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); d=_FF(d,a,b,c,x[k+5], S12,0x4787C62A); c=_FF(c,d,a,b,x[k+6], S13,0xA8304613); b=_FF(b,c,d,a,x[k+7], S14,0xFD469501); a=_FF(a,b,c,d,x[k+8], S11,0x698098D8); d=_FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); c=_FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); b=_FF(b,c,d,a,x[k+11],S14,0x895CD7BE); a=_FF(a,b,c,d,x[k+12],S11,0x6B901122); d=_FF(d,a,b,c,x[k+13],S12,0xFD987193); c=_FF(c,d,a,b,x[k+14],S13,0xA679438E); b=_FF(b,c,d,a,x[k+15],S14,0x49B40821); a=_GG(a,b,c,d,x[k+1], S21,0xF61E2562); d=_GG(d,a,b,c,x[k+6], S22,0xC040B340); c=_GG(c,d,a,b,x[k+11],S23,0x265E5A51); b=_GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); a=_GG(a,b,c,d,x[k+5], S21,0xD62F105D); d=_GG(d,a,b,c,x[k+10],S22,0x2441453); c=_GG(c,d,a,b,x[k+15],S23,0xD8A1E681); b=_GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); a=_GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); d=_GG(d,a,b,c,x[k+14],S22,0xC33707D6); c=_GG(c,d,a,b,x[k+3], S23,0xF4D50D87); b=_GG(b,c,d,a,x[k+8], S24,0x455A14ED); a=_GG(a,b,c,d,x[k+13],S21,0xA9E3E905); d=_GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); c=_GG(c,d,a,b,x[k+7], S23,0x676F02D9); b=_GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); a=_HH(a,b,c,d,x[k+5], S31,0xFFFA3942); d=_HH(d,a,b,c,x[k+8], S32,0x8771F681); c=_HH(c,d,a,b,x[k+11],S33,0x6D9D6122); b=_HH(b,c,d,a,x[k+14],S34,0xFDE5380C); a=_HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); d=_HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); c=_HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); b=_HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); a=_HH(a,b,c,d,x[k+13],S31,0x289B7EC6); d=_HH(d,a,b,c,x[k+0], S32,0xEAA127FA); c=_HH(c,d,a,b,x[k+3], S33,0xD4EF3085); b=_HH(b,c,d,a,x[k+6], S34,0x4881D05); a=_HH(a,b,c,d,x[k+9], S31,0xD9D4D039); d=_HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); c=_HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); b=_HH(b,c,d,a,x[k+2], S34,0xC4AC5665); a=_II(a,b,c,d,x[k+0], S41,0xF4292244); d=_II(d,a,b,c,x[k+7], S42,0x432AFF97); c=_II(c,d,a,b,x[k+14],S43,0xAB9423A7); b=_II(b,c,d,a,x[k+5], S44,0xFC93A039); a=_II(a,b,c,d,x[k+12],S41,0x655B59C3); d=_II(d,a,b,c,x[k+3], S42,0x8F0CCC92); c=_II(c,d,a,b,x[k+10],S43,0xFFEFF47D); b=_II(b,c,d,a,x[k+1], S44,0x85845DD1); a=_II(a,b,c,d,x[k+8], S41,0x6FA87E4F); d=_II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); c=_II(c,d,a,b,x[k+6], S43,0xA3014314); b=_II(b,c,d,a,x[k+13],S44,0x4E0811A1); a=_II(a,b,c,d,x[k+4], S41,0xF7537E82); d=_II(d,a,b,c,x[k+11],S42,0xBD3AF235); c=_II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); b=_II(b,c,d,a,x[k+9], S44,0xEB86D391); a=addUnsigned(a,AA); b=addUnsigned(b,BB); c=addUnsigned(c,CC); d=addUnsigned(d,DD); } var temp = wordToHex(a)+wordToHex(b)+wordToHex(c)+wordToHex(d); return temp.toLowerCase(); } function utf8_encode ( argString ) { // http://kevin.vanzonneveld.net // + original by: Webtoolkit.info (http://www.webtoolkit.info/) // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: sowberry // + tweaked by: Jack // + bugfixed by: Onno Marsman // + improved by: Yves Sucaet // + bugfixed by: Onno Marsman // * example 1: utf8_encode('Kevin van Zonneveld'); // * returns 1: 'Kevin van Zonneveld' var string = (argString+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n"); var utftext = ""; var start, end; var stringl = 0; start = end = 0; stringl = string.length; for (var n = 0; n < stringl; n++) { var c1 = string.charCodeAt(n); var enc = null; if (c1 < 128) { end++; } else if((c1 > 127) && (c1 < 2048)) { enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128); } else { enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128); } if (enc !== null) { if (end > start) { utftext += string.substring(start, end); } utftext += enc; start = end = n+1; } } if (end > start) { utftext += string.substring(start, string.length); } return utftext; } function include(filename){ var head = document.getElementsByTagName('head')[0]; script = document.createElement('script'); script.src = filename; script.type = 'text/javascript'; head.appendChild(script); }
PHP: <?php $input = $GLOBALS['f']; if (!file_exists($input)) { die('OMG! File not found =\\'. "\n"); } $output_fname = dirname($input). '/'. basename($input, '.php'). '_bz.php'; $output = fopen($output_fname, 'w'); $content = shell_exec('php -nw '. $input); $content = bzcompress(' ?>'. $content, 9); fputs($output, '<?'. ' eval(bzdecompress(base64_decode("'. base64_encode($content). '"))); ?>'); fclose($output); $before = filesize($input); $after = filesize($output_fname); echo '> Before compress : '. ($before / 1024). " Kb\n"; echo '> After compress : '. ($after / 1024). " Kb\n"; echo '> Compress ratio : '. (($before - $after) * 100) / $before. "%\n"; ?> > Before compress : 124.427734375 Kb > After compress : 36.3046875 Kb > Compress ratio : 70.8226725478%
народ, а кто знает как работает сервис отправки анонимных смс? ) что там за скрипты? кто может помочь в создании или имеет какую инфу стукните в асю! восемь9-88-7шесть
Доброго времени суток коллеги У меня вопрос вот возник. Есть файл, с мусором из текста и емейлов. Как отчленить емейлы от текста? Т.е. как-бы нужно искать все что до символа @ и все что после него, до очередной абракадабры. Это вообеще реально, или малоосуществимо?
Нашел ответ на свой вопрос...: PHP: $mailReg = '/[A-Z0-9._-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z.]{2,6}/i'; preg_match_all($mailReg, $str, $matches);