Перегляд за місяцем: September 2009
Вектор Script Injection атаки
Марк Кругер (Mark Kruger) знову робить корисну справу: досліджує можливість проведення Script Injection атаки через завантаження (upload) шкідливого скрипта.
Він розглядає послідовність кроків для "обману" скрипта завантаження, котрий хоч і проводить перевірку даних, але має розповсюджену вразливість, на котру рідко звертають увагу: завантаження відразу відбувається в публічно доступну директорію. Завдяки затримкам між етапами обробки є можливість виконати шкідливий скрипт до того, як його буде видалено.
Також приводяться кілька порад (здавалося б, очевидних для досвідченого розробника) щодо покращення загальної безпеки ресурсів з можливістю завантаження файлів користувачами.
Про все це дещо докладніше в Script Injection Attack: Smoking Gun?
Найбільшою проблемою дослідження наслідків такої атаки є труднощі з ідентифікацією шкідливих скриптів, адже вони вже не існують пост-фактум. Особисто я використовую два обробники помилок 404 в Application.cfc: один слугує для запису помилок, перенапрямлених з веб-серверу (фейкова сторінка 404.cfm), інший -- для заптів до недозволених cfm-сторінок (дозволені зазвичай index.cfm та wsdl.cfm - для веб-сервісів). Це дає деяку інформацію у випадку спроб дослідження додатку через навмисні запити до неіснуючих сторінок.
Відповіді на поширені питання щодо ORM в ColdFusion 9
Теренс Райян (Terrence Ryan) відповідає на деякі поширені питання щодо ORM в CF9. Зокрема пояснює базову різницю між паттернами Data Mapper та Active Record, чому для ColdFusion було обрано саме паттерн перший з них та розкриває деякі особливості його реалізації.
Новини CF-OpenSource v5
Невеличкий огляд на сьогодні
Як повідомляє автор, цей фреймворк для кешування майже "дозрів" до релізу.
Майже те саме можна зауважити про вже відомий нам фреймворк CFWheels.
Додаток до Fusebox, що дозволяє швидко інтегрувати існуючі рішення з кешування для CF, зокрема вищезгаданий CacheBox, а також cfMemcached та навіть EHCache з комплекту CF9.
Анонімний автор повідомив про початок розробки аналога WordPress на CF. Сподіваюся, що з нього вийде добрий конкурент існуючим рішенням.
Чому Railo кермує як платформа для Saas
Розробники з компанії Straker зробили свій внесок до популярної теми для обговорення в спільноті: Railo vs ColdFusion.
Вони стверджують, що в одному з аспектів Railo є безумовним лідером. Як платформа для Software as a Service рішень.
Переваги було згруповано за чотирма категоріями: масштабованість, безпека, ціна, оновлення.
В коментарях було слушно зауважено, що суттєвим мінусом є складність розгортання, особливо на тонко налаштованих системах. Також там відмітився Адам Леман, продукт менеджер ColdFusion, з альтернативними думками щодо кожного пункту.
Докладно про всі ці речі читаємо в Why Railo kicks butt for ColdFusion based SaaS.
ColdFusion Bloggers у Twitter
Вам ще не набрид Twitter? Тоді вас може зацікавити пропозиція зафоловити цілий натовп CF-твіттерян, причому одночасно.
Таку опцію надає черговий сервіс, що користується Twitter API: TweepML. Він дозволяє групувати твіттерян та ділитися зробленим з іншими.
В даному випадку це є ColdFusion Bloggers.
Еще немного о CFUnited 2009
Одна ссылочка - мне понравился этот небольшой неофициальный дневничек канадца о прошедшем CFUnited.
Новини CF-OpenSource v4
Повертаємося до рубрики після деякої паузи. Сьогодні у нас нові CMS, фреймворки та CF9.
Фреймворк, що використовує новинки CF9, а також реалізує сучасні методики розробки.
Ще один невеличкий MVC фреймворк. На відміну від більшости популярних аналогів, не використовує XML для конфігурації, лише "чисті" CFC.
ColdFusion порт Radiant CMS для Ruby.
Додаток до CF Builder для генерації CF9 ORM мапінгів.
Додаток, що реалізує Business Objects для CF9 ORM.
І ще одна CMS, нащадок CF-Nuke.
Додаток, що реалізує чат за допомогою CF та jQuery.
Coldfusion XML Meta Tag System
Додаток для керування мета теґами вашого сайту за допомогою базованої на XML конфігурації.
Цей проект допомагає генерувати тестові номери карток найпопулярніших типів (Visa|Mastercard|Discover|Amex), корисно в процесі розробки та інтеграції платіжних систем.
Documentation Plugin for Mango Blog
Назва каже сама за себе. Плагін інтегрує довідку з Манго прямо в панель адміністратора.
Про деякі особливості Application.cfc
Не всі розробники задумуються над тим, що Application.cfc це не тільки Application, але й повноцінна CFC. Використання її саме у якості компоненти дає кілька цікавих можливостей.
Наприклад, розглянемо таку просту компоненту:
<cfcomponent output="false">
<cfset this.name = "application_introspect" />
<cfset this.foo = "bar" />
<cffunction name="onRequestStart" returnType="boolean" output="false">
<cfargument name="thePage" type="string" required="true">
<cfset application.thePage = arguments.thePage />
<cfreturn true />
</cffunction>
</cfcomponent>
А тепер спробуємо використати її.
<cfdump var="#Application#" >
<p> </p>
<cfset test = CreateObject("component", "Application") />
<!--- CF9 way
>cfset test= new Application() /<
--->
<cfdump var="#test#">
<cfset test.onRequestStart("introspect.cfm") />
<p> </p>
<cfdump var="#Application#">
Таким нехитрим способом можна робити дві речі:
-
Подивитися що всередині об'єкту Application (на прикладі this.foo).
-
Зручно маніпулювати Application scope.
Результат роботи вищевказаного коду виглядатиме так:

DISA відкриває OSCMIS та підтримує CF
Управління інформаційного забезпечення міністерства оборони США (The Defense Information Systems Agency) надає доступ іншим державним агенціям до свого набору програмного забезпечення для управління та керування документообігом, більше того, відкриває й вихідні коди.
Система, що має назву The Open Source Content Management Information System (OSCMIS), містить в себі більш як 50 веб-додатків, включаючи інструмент для керування робочою силою, автоматичним документообігом, навчанням, віддаленим керуванням та інші.
Що цікаво для нас, OSCMIS написано саме на ColdFusion. Міністерство не тільки саме використовує цю технологію, але й рекомендує це робити іншим, зокрема хоче залучити до навчання молодь, щоб отримати нових талановитих програмістів.
Все це ще раз підтверджує перспективність CF як технології.
Джерело: InformationWeek
Оновлення Mango Blog до 1.4
Вже пару тижнів як вийшла оновлена версія Mango. Ми тільки днями оновилися, хоча це однозначно варто було зробити відразу. Адже розробники зробили цілу купу оновлень. Тим більше, що процедура оновлення -- простіше не буває, потребує лише одного кліку.
Особливо хочу відмітити можливість вручну задавати URL-безпечні заголовки, що робить непотрібним опублікований нами в травні хак для кириличних заголовків.
Також радує функція збереження історії змін постів. Інколи це буває корисним, наприклад при редагуванні CFML в чудовому TinyMCE, котрий, до речі, теж оновили.
Розробники зробили кілька кроків назустріч альтернативним CFML-двигунам, зокрема Railo. Зокрема, змінили Verity на власний пошуковий механізм.
Про ці та інші оновлення читайте в офіційному блозі блогу :)
Cumulative Hot Fix 3 for ColdFusion 8.0.1
Вчора було випущено оновлення CHF 3 for ColdFusion 8.0.1, призначене спеціально для цієї версії. Більше того, Adobe рекомендує використовувати це оновлення тільки у тому випадку, якщо вам заважають виправлені недоліки.
