среда, 21 июня 2017 г.

Как снять защиту листа excel с паролем

Возникла потребность преодолеть защиту листа MS Excel с паролем.
Пробовал различный софт, иногда помогало, НО софт обычно тральный и т.п. лицензией, что не удобно, когда работа с такими файлами возникает очень редко.
Помог интернет с отличной статьей.
Иногда случается такое, что к Вам попадает exel файл с включенной защитой листа. Защиту листа включают по разным причинам, например просто для того, чтобы кто-нибудь случайно не «сломал» формулы или просто не мог их увидеть.
При попытке редактирования такого документа мы увидим предупреждение о включенной защите.
xlx-pass-1
Для того, чтобы редактировать такой документ необходимо перейти в:
«Верхнее меню EXEL -> Рецензирование -> Снять защиту листа»
Если документ не будет запаролен, то его редактирование и просмотр формул станут доступными.
Но чаще защиту листа, все таки, еще и скрывают паролем. Но это не является большой проблемой.

Как снять защиту листа exel с паролем.

Как известно, exel файлы бывают двух форматов:
  • .xls — формат использовался в старых версиях Microsoft Office (до версии 2007).
  • .xlsx — этот, более новый формат используется начиная с Microsoft Office 2007 и по современные версии.
Современный формат таблиц (.xlsx) по своей сути является архивом и его можно открыть архиватором.
Если документ, с которого необходимо снять пароль, старого формата (.xls), то сначала его нужно пересохранить в новый, открыв в программе Microsoft Office версии 2007 и выше (или аналогах), потом выбрать в меню программы:
«Сохранить как -> Книга Exel», выбрать Тип файла, как : Книга Exel (*.xlsx) и нажать «Сохранить»:
xlx-pass-2   xlx-pass-3
Теперь мы имеем документ нужного формата.
Закрываем программу Exel и переходим в папку, где только что сохранили документ в формате .xlsx. Распаковываем его любым архиватором (я использую программу 7zip), для этого жмем правой кнопкой мыши на файл и выбираем:
«7-Zip -> Распаковать в «имя_файла\» «.
xlx-pass-6
Рядом с документом появится папка с таким же именем, как и наш документ. Переходим в эту папку, далее в папку «xl», потом в «worksheets», в ней будут лежать листы, которые находятся в составе exel документа (sheet1.xml — это лист1, sheet2.xml — лист2 и т.д.).
В этих файлах записана информация о защите листа паролем, для того, чтобы снять защиту нам необходимо открыть файл листа текстовым редактором и стереть информацию о защите. В примере я буду редактировать стандартным блокнотом Windows.
Кликаем правой кнопкой мыши на нужный лист (sheet1.xml,  sheet2.xml и т.д.) и выбираем:
«Открыть с помощью -> Блокнот»
В блокноте нажмем:
«Правка -> Найти» (Для удобства включите«Формат -> Перенос по словам»)
и вставим в форму поиска:
<sheetProtection
Эта строка содержит информацию о пароле и нам необходимо её удалить. Стираем всё между «<sheetProtection» и «/>» включительно, у меня это:
<sheetProtection password=»CF7A» sheet=»1″ objects=»1″ scenarios=»1″ formatCells=»0″ formatColumns=»0″ formatRows=»0″ insertColumns=»0″ insertRows=»0″ insertHyperlinks=»0″ deleteColumns=»0″ deleteRows=»0″ sort=»0″ autoFilter=»0″ pivotTables=»0″/>
xlx-pass-7
В блокноте жмем:
«Файл -> Сохранить»
По необходимости повторяем с остальными листами.
Теперь необходимо закинуть измененные файлы обратно в документ. Для этого переходим в папку с exel документом .xlsx, жмем на него правой кнопкой мыши и выбираем:
«7-Zip -> Открыть архив»
xlx-pass-4
Откроется окно архиватора с содержимым.
xlx-pass-5
Переходим в окне архиватора: «\xl\worksheets\», перетаскиваем мышью наши измененные файлы листов (те, в которых мы стерли строки с паролем) в это окно, соглашаемся с предупреждением о  замене и закрываем окно архиватора.
Теперь защита листа с паролем снята и Вы можете делать с документом все, что угодно. По необходимости файл можно сохранить обратно в старый формат .xls через меню Microsoft Office:
«Сохранить как -> Книга Exel», выбрать Тип файла, как : Книга Exel 97-2003 (*.xls) и нажать «Сохранить».
Может показаться, что это долгий и муторный процесс, но на самом деле тут нет ничего сложного и вся процедура занимает одну минуту, а то и меньше.
Взято с этого сайта

вторник, 16 мая 2017 г.

ReCaptcha + eForm

Возникла необходимость сделать сложнее капчу в MODx Evo, т.к. появились жалобы на спам из форм обратной связи.
Вот нашел работоспособное решение

В продолжении топика modx.im/blog/questions/4891.html

Не подошло решение, т.к. отпрака на почту мне не нужна.
Прикрутила ReCaptcha. Все ок

Но для сохранения общей картины сайта, пришлось и в eform менять капчу.

В файле eform.inc.php изменила код


if($vericode) {
                if(isset($_POST['g-recaptcha-response'])){
          $captcha=$_POST['g-recaptcha-response'];
        }
                $secretKey = "ВАШ_СЕКРЕТНЫЙ_КЛЮЧ";
        $ip = $_SERVER['REMOTE_ADDR'];
        $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
        $responseKeys = json_decode($response,true);
        if(intval($responseKeys["success"]) !== 1) {
          $vMsg[count($vMsg)]=$_lang['ef_failed_vericode'];
                  $rClass['vericode']=$invalidClass; //added in 1.4.4
        } ;}

В вызове eForm прописать vericode=`1`

Взято тут

Спустя год использования уже нет уверенности, что все работает как надо и по этой причине после обновления modx evo о 1.4.6. решено было изменить работу связки reCAPTCHA для eForm - найдена статья.
Но у статьи есть первоисточник - ссылка.

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

Как вариант найдена еще вот такая статья - если не устроит работа по предыдущей.

пятница, 20 января 2017 г.

Раздевалка в прихожую

Задача - куда-то деть верхнию одежду при входе в квартиру.
Т.к. ширина коридора грубо 1100мм, то шкафы распашные и шкафы-купе отмел сразу.
Можно было просто брусок 50*50мм притянуть к стене саморезами, НО не эстетично.
В итоге подсмотрел в одном учреждении вот такую реализацию.
 Прикинул возможность расположения у себя в коридоре и эстетику помещения и перешел к проектированию в гугл скечапе.
Вышло примерно вот такое.
Проект в гугл скейчапе.

Сходил до ближайшего магазина и купил листов ЛДСП 16мм, боковые части отпилили в размер прямо в магазине, а полки и поперечины были готового размера 800*300мм.
Купил дополнительно:
- сверло под конфирматы;
- конфирматы;
- регулируемые ножки (т.к. боялзя, что пол не ровный);
- уголок мебельный (чтобы притянуть) стеллаж к стене вверху;
- пластиковый декор (для заглушки шляпки конфирмата).

Из инструментов использовал:
- шило;
- угольник;
- карандаш;
- рулетку;
- шуруповерт;
- шестигранник (для конфирматов);
- крестовая отвертка

На верхней перекладине прикрутил 3и крючка, на средней 2а крючка - каждый крючек двойной.

На нижнию полку можно что-то положить - сумку, рюкзак и т.п. - садиться нельзя.

Примерно потратил - 1500 руб. и за вечер все разметил и собрал.

P.S. Пишу уже по давно проделанной работе, так что часть уже забылась


Версия сайта для слабовидящих

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

воскресенье, 15 января 2017 г.

"Карусель" на главной в MODX Evo

Возникла задача, организовать карусель на главной странице сайта и соответственно возможность нормальной работы в админке сайта.
Уважаемый мною человек давно уже сделал статью про организацию слайдера.
Из нее я лично вынес основной алгоритм - TV, чанк шаблона, чанк вызова слайдера, в котором будет Ditto.
Так же на просторах инета нашел интересное решение для организации слайдера-карусели - Фоторама
Так же статья по настройке фоторамы.
И самое важное, когда все казалось бы заработало как надо, обнаружилось, что никак не удается разрешить проблему ссылки на страницу при клике на картинку, нашлась вот такая статья.
И наиболее полезный пост из статьи.
И следовав всем инструкциям не смог настроить работу Ditto, а именно не отрабатывали плейсхолдеры чанке щаблона.
В итоге добрый человек с форума помог организовать правильный вызов.
<div data-img="[+img-slide+]"><a title="[+longtitle+]" href="[+url+]">[+longtitle+]</a></div>

вторник, 19 июня 2012 г.

Парсер прогноза погоды с pogoda.mail.ru

Очень понравилась статья на хабре по прогнозу погоды и вывода на монитор, а так же просмотра данных из интернет.
Благо есть свободный (не используемый) монитор - решил попробовать...
Ниже немного переработанная под себя статья с хабра...

Спасибо современным технологиям, — температуру на улице и прогноз погоды можно в любой момент посмотреть на специальных сайтах (вроде pogoda.mail.ru или pogoda.yandex.ru).

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

Однажды, делая заказ на сайте DX я наткнулся на достаточно маленький (7 дюймов) телевизор с VGA-входом и решил воплотить свою идею в жизнь.



Непосредственно над входной дверью у меня в квартире есть небольшой шкаф, в котором я держал роутер, старый ноутбук, используемый как сервер, NAS и прочую «живность». Купленный мною телевизор-монитор вписался в этот зоопарк идеально.

Дальнейшее описание достаточно тривиально, — большую часть можно смело опустить.


Настройка сервера

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

С иксами я не мучался и просто установил последнюю убунту (12.04), благо она оказалась LTS, да и стоявшую у меня для всяких тестов и разработки версию 8.04 давно пора было обновить.

Страничку будем отдавать с помощью nginx'а:
sudo apt-get install nginx


А гененировать по крону с помощью Mojolicious — замечательного фреймфорка:
curl get.mojolicio.us | sudo sh


Вообще, можно было бы и страничку отдавать с помощью Mojo, запустив скрипт (с малейшими переделками) через morbo, но вариант с nginx и генерацией статического файла тоже имеет право на существование — таким образом мы всегда отдаём браузеру сгенерированную страницу и у нас не будет задержек, да и кэширование, в случае с несколькими клиентами не помешает.

Создаём директорию, в которой будет лежать наша html-страничка:
sudo mkdir -p /var/www/weather/
sudo chown www-data:www-data /var/www/weather


Сохраняем наш перл-скрипт:
sudo curl https://raw.github.com/dreadatour/weather/master/weather.pl -o /usr/bin/generate-weather
sudo chmod +x /usr/bin/generate-weather


Добавляем в crontab строку для запуска скрипта. Для этого откроем файл /etc/crontab в любом текстовом редакторе:
sudo vim /etc/crontab


И добавим в конец следующую строку:
* * * * * www-data /usr/bin/generate-weather > /var/www/weather/index.html


Ждём, когда cron отработает и у нас появится файл с прогнозом погоды (файл будет обновляться раз в минуту):
ls /var/www/weather/index.html


Правим конфиг nginx /etc/nginx/sites-available/default:
server {
    listen 80;
    server_name localhost;
    root /var/www/weather/;
    index index.html;
}

И рестартим его:
sudo /etc/init.d/nginx restart


Проверяем, что всё работает как надо:
curl localhost

(мы должны получить нашу html-страницу).

Настройка системы

В качестве менеджера окон выбор пал на Openbox (более тяжёлые WM ставить не было никакого смысла). Ставим его:
sudo apt-get install openbox


В качестве браузера поставим хром (а точнее его вариацию — chromium):
sudo apt-get install chromium-browser


Ставим утилиту «unclutter» — с помощью неё скрываем курсор мыши:
sudo apt-get install unclutter


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

Далее, создаём файл /usr/share/xsessions/chrome-session.desktop:
[Desktop Entry]
Name=chrome-session
Comment=Weather
Exec=/usr/bin/chrome-session


И файл /usr/bin/chrome-session:
#!/bin/sh
openbox-session &  # запускаем openbox
xrandr --output VGA1 --mode 800x600 &  # устанавливаем разрешение телевизора
xset s blank &  # выключаем screensaver
xset s 0 0 &
xset -dpms &
unclutter -idle 1 &  # прячем мышку
chromium-browser --kiosk "http://localhost/"  # запускаем браузер и открываем страницу с прогнозом


Браузер запускается в режиме «киоск» — в полноэкранном режиме.

Разлогиниваемся, выбираем в списке сессий нашу «chrome-session», вводим пароль и попадаем на страничку с прогнозом погоды. На всякий случай для проверки перегружаем компьютер:
sudo reboot

всё должно работать.

Не останавливаемся

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

Исходный код скрипта и конфигурационных файлов системы выложены на гитхабе.
Пример того, как это выглядит можно посмотреть тут: weather.dreadatour.ru

Взято с http://habrahabr.ru/post/144624/

пятница, 25 мая 2012 г.

PPTP что это и как настроить?

Очередной раз столкнулся не известным глюком убунты по работе  с PPTP при моединении с Кабинет.
Решил ознакомиться с доками - http://ru.posix.wikia.com/wiki/PPTP