Category Archives: Web

Web

Нови флаш игри в igri7.com

Днес добавихме още няколко флаш игри които наши потребители търсиха ( www.igri7.com ). Надяваме се и други потребители търсещи конкретни игри да ни пишат за да ги потърсим и добавим в сайта.

Разцъках доста от тези флаш игри и смея да твърдя, че потребителите на сайта определено имат вкус понеже игричките са доста увлекателно и забавни. Хайде приятна игра с безплатните флаш игри -- www.igri7.com

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

UptimeRobot- Безплатен мониторинг на уеб сайт

Сигурно на всеки му се е случвало да му падне сайта и някои приятел да ви каже за това.  За да знаете винаги онлайн статуса на своя уеб сайт е добре да се ползва мониторинг система за това*неутрална*.  Скоро забелязах една такава която е безплатна за целта и предполагам ще върши работа(все още я пробвам от 2 дни) UptimeRobot.

Пуснал съм я да върви паралелно с главната мониторинг система която ползвам (Host Tracker) за да видя дали са еднакви като качество(ползвам Host Tracker от 2 години и работи супер).

Видях, че системата на UptimeRobot изпраща безплатен SMS когато падне уеб сайта(изпраща го през email към sms gateway на съответния оператор). За България има само на Мобилтел (мтел).

Ето и основните неща които ми допаднаха в UptimeRobot:

-- Мониторинг до 50 сайта за акаунт
-- Пинг на всеки 5 минути
-- Възможност за аларма през email, sms, RSS(интересно) и Twitter (също интересно)
-- Поддържа http и https
-- Поддържа възможност за различни контакти при аларма

Много бих се радвал ако имате мнение за този безплатен тул да го споделите тук.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Впечатления от SEO 2010

Най- накрая събрах сили и време след това страхотно събиране да напиша с няколко думи как премина всичко.

На 11-ти сутринта започна конференцията в две зали като и в двете зали имаше интересни теми, но за мен лично малката или зала-2 беше по- забавна и интересна.

След като приключи SEO 2010 ( :(   ) решихме да се насочим към "При кмета" да отпразнуваме хубавото начинание :). Имаше няколко автомобила в тази посока, но аз тръгнах тогава със Динко, Гената и Траки. Имахме яко приключения с този АВТОМОБИЛ :) ама с такива пичове честно ви казвам така се забавлявах …  абе беше супер забавно . Е вечерта се събрахме  в това местенце "При Кмета" и доста се забавлявахме.

Сутринта се събуждам и усещам, че главата ми натежава. Очевидно изпих доста бира и след това с Марто пихме вискита и всичко стана Мортал Комбат :) .

Изводът е: Хубав ден, хубава конференция, хубави хора и страхотна вечер. :)

И няма как да не изкажа благодарности на Сашето, че ми помогна с навигацията в София и хотела и какво ли не още. Хайде Саше чакаме те тук до моретоо :)

Подобни материали по темата от други приятели и колеги:

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Decode на unicode cyrillic

Идеята е да се декодира unicode cyrillic със php. Ето един простичък метод:

function unicode_decode($str)                                                                                                               {
return preg_replace("/\\\u([0-9A-F]{4})/ie", "iconv('utf-16', 'utf-8', hex2str(\"$1\"))", $str);
}

function hex2str($hex)
{
$r = ";
for ($i = 0; $i; $r .= chr(hexdec($hex[$i] . $hex[$i + 1])))
return $r;
}

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

PHP: Стартиране на конзолно приложение с моментален изход

Идеята е да изпълня някакво конзолно приложение от php(web) което line by line да ми извежда изхода. Пример правя ping до машина и не искам да изчакам крайния резултат на ping-a, а всеки ред да излиза. Реших да споделя  простичкото решение на въпроса:

<?php
$handle = popen("ping example.com -c 11  2>&1", 'r');
while(!feof($handle)) {
$buf = fgets($handle);
echo "$buf<br/>\n";
flush();
}
pclose($handle);
?>

PS: popen може да се ползва и да лоадва файлчета, пример: tail -f /var/log/mysq/mysq.log

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Използване на tcpdump за прехващане на стринг от писмо

Тук идеята ми е, че на моменти получавам писмо от конкретен адрес ( или не) и съдържанието му е много важно. Толкова важно, че искам да го видя веднага в най- лесния вариант. Да речем че получавам като важно съдържание едно изречение (стринг).

Решението което имам (използвам собствен mail server с root access): Пускам tcpdump да логва всички пакети на 25 порт и след това парствам за конкретния стринг. Ето един много лесен пример за 2 мин:

tcpdump -s 1500 -lXvvi eth3 port 25|awk -F ' ' '{print $10}' >> /tmp/aa.txt

Ето едно малко php което парсва и показва ако го има:

function dhs_lr_str($a,$b,$c,$num=1){$a=explode("$a",$c);$b=explode("$b",$a[$num]);return addslashes(trim($b[0]));};

$buffer=file_get_contents("/tmp/aa.txt");
$buffer=str_replace("\n",",$buffer);
$buffer = preg_replace('#\r?\n#', ", $buffer);
$buffer = preg_replace('/\s\s+/', ' ', $buffer);

preg_match_all("/lqva_chast(.*?)dqsna_chast/", $buffer, $matches);
$search_words=array_unique($matches[1]);

echo "<table border='1'><tr><td><b>N</td><td><b>Link</td></tr>";
foreach ($search_words as $value)
{
$i++;echo "<tr><td><b>$i</td><td>$value</td></tr>";
};
echo "</table>";

Може и с bash:

#Премахва \n
cat /tmp/aa.txt|sed -e :a -e '$!N;s/\n//;ta'  > /tmp/a.txt
#Парсва търсения стринг между "lqva_chast" X "dqsna_chast"
cat /tmp/a.txt|awk -F 'lqva_chast' '{print $2}'|awk -F 'dqsna_chast' '{print $1}'

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Автоматично валидиране на html код с php5 tidy

Кратък пример как може да се фиксне или валидира html с php5 tidy:

$tidy = new Tidy();
$options = array('show-body-only'=>true);

$tidy->parseString('<div><b>Martin</b></b> Petrov',$options);
$tidy->cleanRepair();
echo $tidy;

Изходът е:

<div><b>Martin</b> Petrov</div>

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Спиране на Crash Recovery Restore Session във Firefox

В едно приложение постоянно се налага да се kill-не Firefox и след като се пусне (или съживи лисичката) излиза прозорче в което да се избере нова сесия или да се върне старата преди kill-а. Аз не се нуждая от Crash Recovery Restore Session и за целта ще го махна по следния начин(става и във GUI настройките).

Ето го първо прозорчето което искам да се премахне:

Сега ще опиша как се маха прозорчето:

1. Стартирам Firefox
2. В адрес бара пиша: "about:config"
3. Намирам "browser.sessionstore.resume_from_crash" и натискам два пъти бързу в/у него(Идеята е да бъде false)

Ето и снимка на "супер сложното обяснение" по- горе:

PS: Изображенията са взети от google images :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проверяване за логин от PHP при htaccess auth

Идеята е при нормален htaccess логин да се провери от php дали конкретния потребител се е логнал. Понеже в това приложение ще има само един потребител и за мен няма смисъл да се пише или добавя акаунтинг система това е добро решение. Понеже този логнат потребител ще вижда различни неща от нормалния потребител реших да ползвам ето този метод за проверка:

function check_user_login($auth_user,$auth_pass)
{
$get_auth_user=$_SERVER['PHP_AUTH_USER'];
$get_auth_pass=$_SERVER['PHP_AUTH_PW'];
if (   ($get_auth_user == $auth_user) || ($get_auth_pass == $auth_pass)    ) { return true; } else { return false; };
};

По този начин ако се логнем в админ панела (auth минава през apache htaccess) то това ще върне true;

Едно просто, но функционално решение за конкретния случай пестящо доста време и други ресурси.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Logout бутон при htaccess оторизация

Доста хора използват htaccess за оторизация до съответния ресурс, но не много хора знаят как може да се направи LogOut бутон от този ресурс. Всички знаят как можем само през URL да въвеждаме username и pass на htaccess оторизация(не е точно правилно така да се казва, но аз така ще казвам тук). Пример: "http://username:[email protected]/admin" .

Сега в нашият "админ панел" правим един линк към "http://FAKEuser:[email protected]/admin" По този начин ще се нулира предното въвеждане на коректните данни и така ще се изискват отново потребителско име и парола. Ако искаме след LogOut да ни редиректне към главния домейн, а не към админ панела ето пример: "http://FAKEuser:[email protected]" .

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)