Несколько полезных JavaScript

  • (linkmeup CDN) В среднем чем больше js кода мы исполняем в браузере, тем больше вероятность что в исполняемом коде может оказаться что-то плохое: bruteforce, dos, bot, etc т.к. несмотря на наличие методов защиты в браузерах они зачастую обходятся.

confirm при нажатии на кнопку

Например кнопку “удалить” в файловой шаре.<br><br> Читать дальше

Curl/wget разное

https://httpie.org/ – а еще есть такая “модная” альтернатива curl/wget

 

CURL

  • При генерации такого предупреждения CURL может сбрасывать соединение и по факту не докачивать файл, нужно всегда в случае файлов скачивать их с указанием –output и пути до файла (можно /dev/null)
Warning: Binary output can mess up your terminal.
<br><br> Читать дальше

PHP: полезные функции

http://www.w3schools.com/  – очень хороший сайт по WEB-программированию. Охватывает огромное количество языков и технологий – HTML, CSS, JS, SQL, PHP, JSON, AJAX, etc

REGEXP
preg_grep – для поиска в array по regexp
preg_match – для поиска в string по regexp
$matches = preg_grep (“/Комментарий/”, $comments) – Поиск по regexp в array и вывод value.
<br><br> Читать дальше

Динамическое формирование окончания слов во множественном числе

Достаточно для анализа 10 символов чтобы делать правильное окончание.

Метод на ruby:

 def spelling(number)
  last_digit = number.to_s.split(//).last(1).join # identify last digit
  spell = "" if last_digit == "1"
  spell = "а" if last_digit =~ /^([2-4])$/
  spell = "ов" if last_digit =~ /^([0]|[5-9])$/
  two_last_digit = number.to_s.split(//).last(2).join
<br><br> Читать дальше

Редирект на изначально запрашиваемую страницу после авторизации на базе PHP

Redirect делается обычно на основе запрашиваемого URL из переменной $_SERVER[‘REQUEST_URI’], далее назовем это query URL.

Первоначально редиректим на страницу авторизации с указанием запрашиваемого url из query URL в переменной location.

header("Location:login.php?location=" . $_SERVER['REQUEST_URI'] );

Уже на странице авторизации после успешной авторизации делаем тоже самое – забираем query URL.<br><br> Читать дальше

PHP: разное

  • В 1995 году (году создания Java) программист Расмус Лердорф создал язык PHP (Hypertext PreProcessor). Разработка этих языков значительно ускорила развитие всемирной сети и веб-браузеров — Java обеспечила кроссплатформенность и масштабируемость, а PHP стал фундаментом для тысяч веб-сайтов — примерно три четверти из них используют PHP.

<br><br> Читать дальше

PHP: работа с БД Oracle используя расширение oci8 в Ubuntu 14.04

Install
Установка расширения Oci8 для работы с БД Oracle.
Ставим pecl.
sudo apt-get install php-pear php-xml php7.0-xml php7.0-dev 
sudo apt-get install pecl
Через pecl ставим Oci8. При установке указываем путь в oracle lib.
sudo pecl install oci8 
instantclient,/usr/lib/oracle/<ver>/client64/lib
Добавляем extension в php.ini.
<br><br> Читать дальше

PHP: установка php7 на ubuntu 14.04, CentOS 7

PHP7

Является самой актуальной (если не брать во внимание dev версию php 8) и производительной версией php.

Ubuntu 14.04

Установка php7 на Ubuntu 14.04 делается через предварительное добавление app-репозитория ppa:ondrej/php.

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

Далее удаляем опционально php5 (Purge удалит и конфигурационные файлы).<br><br> Читать дальше

PHP serialize и json

PHP serialize – метод превращения данных (строки, массива) в байт строку с возможностью последующего извлечения через unserialize. Ранее был популярен, но сейчас лучше использовать json:

  1. serialize работает только в php
  2. serialize из коробки имеет проблемы со спец. символами (пример ниже)

Ошибка “Notice: unserialize(): Error at offset 454707 of 455688 bytes in”

Варианты решения:

  1. переделать на json – самый простой и эффективный на практике
  2. использовать DECOCE – учитываем, что не работает с array
  3. использовать REGEXP для удаления “плохих” символов массово – можно потерять часть данных
  4. искать символ(ы)  по значению байта (455688) на которые ругается serialize через dd, sql в базу и прочие шаманства и удалять их направленно

json – по сути аналог serialize, только более стандартизирован и стабилен.<br><br> Читать дальше

PHP: простая файловая шара (upload, download, delete, open)

DOWNLOAD/OPEN

При генерации файла обязательно делаем скобки вокруг “file_name”, иначе в случае если в имени файла есть пробел firefox будет показывать только первое слово, хотя другие браузеры этим страдать не будут. Mozilla давно сказала, что исправлять это не будет т.к. такое поведение соответствует RFC.<br><br> Читать дальше