Блог бедного Админа | Заметки на интересующие меня темы, SQL Sever, T-SQL, ASP.NET

Редирект 301 на ASP.NET

by Admin 18. сентября 2016 06:04

Довольно часто вебмастерм необходимо в своей практике использовать перенаправление посетителей сайта с одной страницы на другую или даже с одного сайта на другой. Причин этому может быть достаточно много, так например, как известно, что обычно существуют на хостингах зеркала сайтом, имена которых отличаются приставкой www. Не будем вдаваться в подробности существования подобных «зеркал», но знайте, что это совершенно два разных сайта, которые имеют точную копию другого, поэтому пользователь набирая адрес сайта с www и без, попадают на один и тот же сайт, но они считаются разными сайтами. То же самое происходит и с роботами, которые обходят ваши сайты, они видят два разных сайта, хотя фактически это один. Теперь представьте, что другие вебмастера на своих сайтах делают ссылки на ваш сайт, что нам и хотелось бы как можно больше, с разными названиями вашего сайта, т.е с www или без. В результате ссылочная масса на ваш сайт разделялась бы на две части, что и делают поисковые роботы, а ваша позиция сайта в этом случае так же примерно в два раза ухудшилась, поскольку в настойках своего сайта вы указываете основное «зеркало»  сайта как, например, без www. Обычно это указывается в файле robots.txt.
Так вот, чтобы избежать подобных проблем, необходимо использовать редирект с кодом 301, что сообщает поисковым роботом, что страница перенесена «навсегда» по новому адресу. Для сайтов на ASP.NET это можно сделать в конфигурационном файле web.config который расположен в корне вашего сайта. В нем необходимо вставить в секцию <system.webServer> следующий код, который перенаправляет посетителей и роботов с домена с www на домен без www.

<rewrite>
      <rules>
        <rule name="Redirect from WWW" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="^www\.(.+)$" />
          </conditions>
          <action type="Redirect" url="http://{C:1}/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
</rewrite>


Или так:

<rewrite>
<rules>
<rule name="Redirect from WWW" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.myasp.ru$" />
</conditions>
<action type="Redirect" url="http://myasp.ru/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>


Или так методом простого удаления www в запросе:

<rewrite>
<rules>
<rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions>
    <add input="{CACHE_URL}" pattern="*://www.*" />
  </conditions>
  <action type="Redirect" url="{C:1}://{C:2}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>


Если вы хотите сделать редирект на другой сайт, тогда используйте такой код:

<rewrite>
      <rules>
        <rule name="Redirect" stopProcessing="true">
          <match url=".*" />
          <action type="Redirect" url= "http://myasp.ru" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>

Еще редирект можно настроить непосредственно на своем хостинге, вот например,
на хостинге ispserver.com можно сделать редиректы с кодами 301, 302 и 307.
Кстати очень хороший хостинг с поддержкой ASP.NET, пользуюсь несколько лет.
До этого перепробовал несколько других, где всегда был разочарован, но вот
наконец нашел стабильный, недорогой с поддержкой до 10 баз данных MS SQL
и столько же сайтов. Вообщем рекомендую, можете воспользоваться моим
промокодом 345303344, для получения скидки.

Tags:

ASP.NET

SQL-иньекции

by Admin 22. мая 2016 06:30

SQL-Injection

В последнее время меня стало напрягать увеличение количества 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

Все это конечно временное решение и нужно искать истинную причину заражения.

Tags:

T-SQL

Прошивка IP-телефона Cisco 7940G

by Admin 9. декабря 2015 16:26

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

   После изучение форумов в интернете мы пришли к выводу, что телефон необходимо перепрошить и для этого потребуется Прошивка IP-телефона Cisco 7940G.
Первоначально нам попалась прошивка SIP «P0S3-8-12-00» и после ее установки мы поняли, что для нашей корпоративной сети необходима родная прошивка SCCP, тогда мы подсмотрев в работающих телефонах номер прошивки «P0030801010» нашли ее в интернете и повторили процедуру с уже родной прошивкой, после чего телефон нормально загрузился в английской версии и появилась возможность править сетевые конфиги. Когда сетевые настройки были установлены и телефон подключили к корпоративной сети, то через некоторое время он подключился к CallManager и обновился до русскоязычной версии, восстановив свой номер в сети и имя пользователя по своему MAC-адресу.
   Кстати позднее в интернете попалась статья, что именно для восстановления работоспособности необходимо сначала прошить телефон под SIP-версию и только потом под SCCP, теперь уже не знаю, надо ли было прошивать под SIP или можно было обойтись сразу SCCP. Ну одним словом в нашем случае телефон заработал, а проверить прошивкой сразу на SCCP теперь сможем только при следующем отказе ;)
   Ну а теперь расскажу порядок прошивки, что и как мы делали.
Прошивку IP-телефона Cisco 7940G под версию SIP я опускаю, т.к. там отличие только в файлах прошивки.
Итак для начала нужно скачать TFTP сервер по ссылке: http://tftpd32.jounin.net/tftpd32_download.html, где выбираем необходимую версию под свою операционную систему. Программа не инсталлируется, а просто копируется в любую папку, откуда и будет запускаться и туда же будут складываться файлы прошивки *.loads, *.sbn, *.bn2, *.bin и конфигурационный файл XMLDefault.cnf.xml.
   Собираем простейшую схему подключения – IP-телефон подключаем к любому хабу и к нему же другим кабелем подключаем компьютер или ноутбук с программой TFTP-сервера и файлами прошивок.
На сетевой карте компьютера прописываем IP-адрес 192.168.1.1 маска 255.255.255.0
Запускаем TFTP сервер
1.    В поле Current Directory прописываем путь до своей директории TFTP сервера если он не прописался автоматически.
2.    В поле Server interface выбираем сетевую карту которую мы настроили на IP-дрес 192.168.1.1
3.    По кнопке Setting открывается окно, где выбираем вкладку TFTP и устанавливаем там галку на Bind TFTP to this address и выбираем 192.168.1.1, так же устанавливаем TFTP Security в значение «None», в окне Base Directory выбираем директорию конфигурационного файла, собственно ту же где у нас все файлы и сама программа TFTP.

4.    На вкладке DHCP назначаем пул адресов начинающийся например с адреса 192.168.1.4  и любым размером например 5, хотя достаточно и одного, все равно IP-телефону присвоится первый 192.168.1.4
5.    В поле Additional Option забиваем в маленькое поле 66 в большое 192.168.1.1   Остальные поля как на скриншоте.

6.    Далее телефон надо перезагрузить либо по питанию, либо клавишами  * + 6 + Setup или сбросить заводские настройки удерживая клавишу # подать питание и после моргания индикаторов набрать последовательно 123456789*# и далее по кнопкам 1 и 2 сохранить или переписать существующие настройки.
Если в файле XMLDefault.cnf.xml правильно прописана строка:
<loadInformation model="IP Phone 7940"> P0030801010</loadInformation>,
то телефон после перезагрузки начнет прошиваться.
   По окончании прошивки необходимо поменять все сетевые настройки на те, что были в нем прописаны для работы в корпоративной сети.
   Для доступа к настройкам необходимо сделать разблокировку настроек по клавишам **#, чтобы «замочек» в интерфейсе телефона открылся.
   Еще возможно потребуется в сетевых настройках  телефона  установить опцию DHCP «No», иначе не сможете поменять IP-адрес телефона.
   Вот собственно и все, далее включаем телефон в корпоративную сеть, где он дополнительно закачивает необходимые данные и работает как новый.

По ссылке ниже можно скачать настроенную программу TFTP и файлы, там же вложена Прошивка IP-телефона Cisco 7940G версии SCCP:

tftpd32.452.rar (1,05 mb)

Tags: , ,

Вывод денег из AdSense на QIWI

by Admin 13. августа 2015 16:10

   Как известно существует некоторое неудобство вывода заработанных денег из AdSense, поскольку в этой системе предусмотрено небольшое количество таких способов. В Интенете можно найти способ вывода денег на WebMoney через систему Rapida, вот собственно по аналогии можно вывести свои деньги и на кошелек Киви.

   Для начала необходимо запросить в службе поддержки QIWI банковские реквизиты своей учетно записи, ответ приходит достаточно быстро в таком виде:

 

   Следующим шагом переходим в платежную систему Рапида, регистрируемся и самое главное проводим процедуру персонификации, т.к. с 2011 года без этого переводы из AdSense будут невозможны. Способы персонификации найдете в описании этой платежной системы. Я это сделал через систему CONTACT в ближайшем отделении Азиатско-Тихоокеанского банка, заплатив 250 руб, из которых 100 рублей остались на моем счете в Рапиде.

   Далее в системе Рапида идем на вкладку Шаблоны и нажимаем на кнопку Создать шаблон, в открывшемся окне выбираем Денежные переводы:

 И далее Платежи по свободным реквизитам:

 

   Заполняем все поля с вашими данными и реквизитами банка QIWI:

   Сумму для оплаты прописываем как 15000 руб и сохраняем как шаблон. У меня два шаблона, на QIWI и WebMoney, так вот вы видите, что в шаблоне QIWI с 15000 руб комиссия составляет 135 руб., а вот в шаблоне на вывод в WebMoney комиссия с этой же суммы составила 210 рублей.

   Теперь копируем Уникальный номер (Для пользователей Google AdSense), переходим в AdSense в раздел настройки платежей и прописываем способ оплаты через платежную систему Рапида, где прописываете свои данные и вставляете скопированный идентификатор шаблона в системе "Рапида". После сохранения способа оплаты делаете его основным:

   Теперь осталось протестировать настроенный шаблон в Рапиде. У меня после прохождения персонализации на счету в Рапиде осталось 100 руб., 10 рублей из которых можно попробовать перевести к себе на кошелек QIWI. Открываем в Рапиде созданный шаблон, меняем сумму 15000 на 10 рублей и нажимаем кнопку "К оплате", после чего получаем на электронную почту сообщение об отправке перевода:

 

Через пару дней получаем перевод на QIWI кошелек:

  Вот собственно и все, ожидаем заработанных в AdSense $100, которые переводятся в Рапиду с конвертацией в рубли, а далее эти деньги по шаблону переводятся к вам на кошелек QIWI. Последний перевод можно настроить на автоматический режим.

Tags: ,

SEO

Запрет на изменение таблиц MS SQL

by Admin 27. июня 2015 19:28

Иногда пользователи MS SQL 2008 сталкиваются с проблемой, что не могут изменить структуру уже созданных ранее таблиц. При попытке изменения структуры выходит следующее сообщение:

«Сохранение изменений запрещено. Чтобы сохранить изменения, необходимо удалить и повторно создать следующие таблицы. Либо изменения вносятся в таблицу, которую невозможно создать повторно, либо включен параметр «Запретить сохранение изменений, требующих повторного создания таблицы»»

Чтобы решить этк проблему достаточно в Management Studio Сервис->Параметры->Конструкторы->Убрать галочку с соответствующего пункта:

 

Tags:

MS SQL

Powered by BlogEngine.NET 2.7.0.0 - Old School Theme by n3o Web Designers

Календарь

<<  Сентябрь 2016  >>
повтсрчепясуво
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Большой календарь

Траффик

Последние сообщения

Статистика