Защита от большинства SQL-иньекций

Среда, 26 Окт 2016 9:57

Как вы думаете чаще всего взламывают сайты? Чаще всего через SQL-инъекции, начиная с банальной авторизации под рутом (при абсолютно неграмотном скрипте) и заканчивая более изощренными вещами (при очень грамотном хакере).

Большинства инъекций можно избежать, попросту выполнив перед выполнением PHP-скрипта такой код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function addslashes_for_array(&$arr)
{
foreach($arr as $k=>$v)
{
if (is_array($v))
{
addslashes_for_array($v);
$arr[$k] = $v;
}
else
{
$arr[$k] = addslashes($v);
}
}
}
function fix_magic_quotes_gpc()
{
if (!get_magic_quotes_gpc())
{
addslashes_for_array($_POST);
addslashes_for_array($_GET);
addslashes_for_array($_COOKIE);
}
}
fix_magic_quotes_gpc();

Единственное, что нужно далее учесть, так это то, что все данные, пришедшие от $_POST, $_GET, $_COOKIE будут всегда за экранированы от обратных слешей, кавычек и т. п.

Релиз языка программирования PHP 7.0

Суббота, 12 Дек 2015 23:54

Официально состоялся релиз языка программирования PHP 7,
вобравший в себя изменения, подготовленные в рамках проекта PHPNG. Новая ветка отличающейся кардинальной переработкой некоторых подсистем, значительной порцией новых возможностей и наличием изменений, нарушающих совместимость. Скачок в номере версии не только подчёркивает значительность релиза, но и связывается с переходом к новой нумерации выпусков, при которой разработчики избавились от лишней цифры в значительных релизах (7.0 вместо 5.7.0).

Ключевые улучшения в PHP 7: Читать полностью »

Теги: ,

Создание миниатюры (thumbnail) рисунка сохраняя соотношение сторон используя С#

Четверг, 07 Авг 2014 9:34

Я использую большие изображения (высокого разрешения) а затем создаю их миниатюры (thumbnail).
Предположим, мне нужна миниатюра (эскиз), чья ширина должна быть максимум 200px. Теперь, создавая миниатюру/эскиз большого изображения нам также потребуется его высота. Итак, как же мы узнаем о его высоте по поддержанию соотношения сторон. Это может быть достигнуто при помощи простого математического уравнения.

Давайте все это сделаем при помощи кода. Я делаю это одним нажатием кнопки.

Читать полностью »

Кнопка «Сегодня» в календаре JQuery UI Datepicker

Вторник, 01 Апр 2014 16:24

Недавно нужно было доработать календарь JQuery UI Datepicker. В настройках Datepicker можно задать показ кнопки «Сегодня» в левой нижней части календаря. Однако, при нажатии на кнопку происходит обычный возврат к сегодняшней дате, но не ее выбор. Если пользователь перемещается между месяцами, то кнопка быстро возвращает его к текущей дате.

Как и пользователи я понимаю кнопку «Сегодня», как выбор даты текущего дня с одновременным закрытием календаря.

В ходе очередных поисков по Интернету я пришел к следующему решению. После включения файла JQuery UI:

1
<script type="text/javascript" src="js/jquery.ui.datepicker-ru.js" language="javascript"></script>

необходимо добавить следующий код, чтобы переопределить функцию _gotoToday:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript">// <![CDATA[
$(function () {
    var _gotoToday = $.datepicker._gotoToday;
    $.datepicker._gotoToday = function( id ) {
        var target = $( id ),
            inst = this._getInst( target[0] );
        if ( this._get( inst, 'gotoCurrent' ) && inst.currentDay ) {
            inst.selectedDay = inst.currentDay;
            inst.drawMonth = inst.selectedMonth = inst.currentMonth;
            inst.drawYear = inst.selectedYear = inst.currentYear;
        }
        else {
            var date = new Date();
            inst.selectedDay = date.getDate();
            inst.drawMonth = inst.selectedMonth = date.getMonth();
            inst.drawYear = inst.selectedYear = date.getFullYear();
        }
        this._selectDate( id, this._formatDate( inst, inst.selectedDay, inst.drawMonth, inst.drawYear ) );
    }
});
// ]]></script>

Решения, которые я видел в Интернете работают, но в самом лучшем варианте после закрытия календаря курсор остается в поле для ввода, что меня не устраивало. В моем варианте я это исправил.

Перевод пунктов (пт) в пиксели (px)

Среда, 01 Фев 2012 19:41

convert

Размер шрифта(Кегль — высота букв) в CSS может указываться в пунктах, а может и в пикселях. Связь этих величин:

1 пункт = 1/72 дюйма.

Для Macintosh это нативное разрешение — 72 точки на дюйм и в компьютерах Apple- 1 пункт равен 1 пикселю.

Для Windows, где разрешение 96 точек на дюйм пункт уже не равен пикселю. Чтобы вычислить количество пикселей для 12 pt воспользуемся формулой:

Читать полностью »

Страница 1 из 1112345678910...вперед »