Друзья, представляем вашему вниманию вторую часть перевода «Чем PostgreSQL лучше?». Надеемся, она вызовет такое же горячее обсуждение в комментариях, как и первая часть. А также с радостью продолжим с вами дискуссию лично на PG Day'16 Russia, до которой осталось совсем немного!
В слогане PostgreSQL заявляется, что это «Самая продвинутая база данных с открытым исходным кодом в мире». В первой части этой серии мы рассмотрели хранение данных — модель, структуры, типы и ограничения по размеру, — чтобы дать вам несколько причин, почему Постгрес подтверждает свои слова делом. Во второй части мы поговорим о манипуляциях с данными и поиске, включая индексирование, виртуальных таблицах и возможностях запросов. В этой серии мы выясняем, что выгодно отличает PostgreSQL от других баз данных с открытым исходным кодом, а именно — от MySQL, MariaDB и Firebird.
Читать дальше →
В последнее время меня стало напрягать увеличение количества SQL-иньекций в MS SQL базах моих сайтов, когда к многим текстовым полям добавляются скрытые спамерские ссылки. Ссылки заключаются в тэги <div style="display:none"></div>, что делает их невидимыми на страницах сайтов, но понижает рейтинг страниц в поисковых системах.
Чтобы посмотреть или выбрать зараженные записи в таблице. можно воспользоваться скриптом на T-SQL:
SELECT * FROM table WHERE (pole LIKE '<div style="display:none">')
Когда количество таких записей в таблице достигает больших значений, то удаление зараженных строк становится проблематичным и в этом случае можно воспользоваться следующим скриптом:
update table set pole =SUBSTRING(pole,0,CharIndex('<div style="display:none">',pole)) where pole like '%<div style="display:none">%'
Этот скрипт подчищает "концы" всех записей с содержимым <div style="display:none">, при этом не изменяет исходную информацию.
Ну и наконец после удаления ненужных текстов можно защитить конкретное поле таблицы от записи в них текстов с содержащих строку <div style="display:none">
Для этого необходимо на этой таблице сформировать триггер следующего содержания:
CREATE TRIGGER [dbo].[back]
ON [dbo].[table]
AFTER UPDATE, INSERT
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS (SELECT * FROM table WHERE pole LIKE '%<div style="display:none">%')
ROLLBACK;
END
Все это конечно временное решение и нужно искать истинную причину заражения.
В последнее время меня стало напрягать увеличение количества SQL-иньекций в MS SQL базах моих сайтов, когда к многим текстовым полям добавляются скрытые спамерские ссылки. Ссылки заключаются в тэги <div style="display:none"></div>, что делает их невидимыми на страницах сайтов, но понижает рейтинг страниц в поисковых системах.
Чтобы посмотреть или выбрать зараженные записи в таблице. можно воспользоваться скриптом на T-SQL:
SELECT * FROM table WHERE (pole LIKE '<div style="display:none">')
Когда количество таких записей в таблице достигает больших значений, то удаление зараженных строк становится проблематичным и в этом случае можно воспользоваться следующим скриптом:
update table set pole =SUBSTRING(pole,0,CharIndex('<div style="display:none">',pole)) where pole like '%<div style="display:none">%'
Этот скрипт подчищает "концы" всех записей с содержимым <div style="display:none">, при этом не изменяет исходную информацию.
Ну и наконец после удаления ненужных текстов можно защитить конкретное поле таблицы от записи в них текстов с содержащих строку <div style="display:none">
Для этого необходимо на этой таблице сформировать триггер следующего содержания:
CREATE TRIGGER [dbo].[back]
ON [dbo].[table]
AFTER UPDATE, INSERT
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS (SELECT * FROM table WHERE pole LIKE '%<div style="display:none">%')
ROLLBACK;
END
Все это конечно временное решение и нужно искать истинную причину заражения.
Сегодня многие компании переводят свои сайты на более защищенное соединение при омбене данных с клиентов. Ведь если у вас есть интернет-магазин или корпоративный сайт, где вы просите посетителей вводить и передавать персональные данные, то по простому каналу эти данные могут украсть кто угодно. Поэтому чтобы придать надежности и защиты своему бизнесу, а это в свою очередь и стабильность и доверее клиентов- вам без организации защищённого канала с использованием зашифрованного протокола https просто не обойтись. SSL сертификат — это специальное цифровое удостоверение вашего сайта. Сегодня даже все соверменные даные сразу же помечают такие сайты специальной иконкой Favicon, которая показывает что этот сайт защищён с помощью HTTPS (расширение протокола HTTP, поддерживающее шифрование).
Заказать и/или попробовать бесплатно полноценный SSL-сертификат и тестировать его на своем сайт можно на webnames.ru
Тем самым предавая ещё один шрик в успех любого из ваших интернет-проектов.