星期一, 4月 16, 2012

MSSQL SQL-Injection 時的資料復原

單一Table單一欄位的復原法:

UPDATE tableName SET columnName = REPLACE ( convert(varchar(8000), columnName ) , '要被取代的字串', '取代的字串' ) WHERE columnName LIKE '%要被取代的字串%' ;


改寫為 Stored Procedure (只使用單引號):
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE procedureName
AS
BEGIN
DECLARE cursor_T CURSOR FOR
(SELECT obj.name AS tableName,
clum.name AS colName
FROM dbo.sysobjects AS obj INNER JOIN
dbo.syscolumns AS clum ON obj.id = clum.id INNER JOIN
dbo.systypes AS sType ON clum.xusertype = sType.xusertype
WHERE (obj.xtype = 'U') AND (clum.xusertype IN (35, 99, 167, 231))
)
DECLARE @tableName nvarchar(255),
@col nvarchar(255)
OPEN cursor_T
FETCH NEXT FROM cursor_T INTO @tableName,@col
WHILE (@@FETCH_STATUS = 0)
BEGIN EXEC('UPDATE ' + @tableName +
' SET ' + @col + ' = REPLACE( convert(varchar(8000),' + @col + ') , ''要被取代的字串'', ''取代的字串'' )
WHERE ' + @col + ' LIKE ''%要被取代的字串%''')
FETCH NEXT FROM cursor_T INTO @tableName,@col
END
CLOSE cursor_T
DEALLOCATE cursor_T
END


Stored Procedure 執行指令:

exec procedureName




星期五, 3月 16, 2012

用 yum 將 CentOS 5.x 的 php 5.1.x 升級到 5.3.x

做更新動作之前請先備份。
網管千古名言:【沒事多備份,多備份沒事。】
一、下載 yum 更新資料檔並安裝之。
#wget http://repo.webtatic.com/yum/centos/5/latest.rpm
#rpm -Uvh latest.rpm

二、編輯 yum 更新索引檔內容。
#vi /etc/yum.repos.d/webtatic.repo
將每個段落都加上一行 priority=1(如果沒加上這行,yum 更新時就只會依原 yum 內建的更新索引檔為主。)

三、開始執行 yum 更新 php。
#yum --enablerepo=webtatic update php
 
四、重新啟動 apache。
#/etc/rc.d/init.d/httpd restart
 
五、查詢 php 版本是否正確更新。
#php -v
 
備註:
發現當由 CentOS 內建的php 5.1.x 升級到 5.3.x 後,php 的 date() 函數會因為預設時區的問題而出現錯誤。
建議在網頁 php 主 include 檔中加上一行(date_default_timezone_set("Asia/Taipei");)來解決。

星期四, 12月 08, 2011

限制某目錄不能執行 php

限制某目錄不能執行 php,可以在該目錄的 .htaccess 裡設定:

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

星期五, 11月 26, 2010

如何備份 Outlook Express 郵件規則

Outlook Express 的郵件規則是儲存在機碼裡面,而非像郵件一樣是儲存在郵件檔裡面,因此要備份 Outlook Express 郵件規則就是將相關的機碼匯出,方法如下:

1.請由 [開始]->[執行],輸入 [regedit] 並按下 [Enter]
2.找到 HKEY_CURRENT_USER\Identities\{一串識別碼}\Software\Microsoft\Outlook Express\5.0\Rules\Mail(Outlook Express 5 或 6)
(Outlook Express 4 機碼位置在:HKEY_CURRENT_USER\Software\Microsoft\Outlook Express\Mail\Inbox Rules)
3.由功能表 [登錄]->[匯出登錄檔],將登錄檔存檔

星期四, 10月 21, 2010

IIS7.x 關閉指令檔(aspx, asp...等)的執行權限

點選 IIS 區塊的「處理常式對應」功能(如果是關閉特定目錄的執行權限,請先選取該目錄),再點選「開啟功能」:


再點選「編輯功能權限」:


將「指令碼」取消勾選,這時你會發現許多 處理常式對應 (Handler Mappings) 都會被自動設定為「已停用」,按下確定後就設定完成:


設定完成後會在該目錄下新增一個 web.config 設定檔,裡面會有該目錄執行權限的存取政策定義:

星期一, 9月 06, 2010

執行InDesign CS4時工具列出現HWNDBasedPanelView圖示

解決方法:
先關閉 InDesign CS4,把以下二個路徑的
C:\Documents and Settings\你的用戶名\Local Settings\Application Data\Adobe\InDesign 和 C:\Documents and Settings\你的用戶名\Application Data\Adobe\InDesign 資料夾中
可能存在的 Version 6.0-J、Version 6.0、Version 6.0-SC、Version 6.0-TC 資料夾都刪除了再重新啟動 InDesign CS4 即可。

星期四, 8月 26, 2010

安裝CentOS時加掛磁碟驅動程式

Step.1 先將驅動程式影像檔(Driver Disk Image,【.dd檔】),複製到USB隨身碟裡。

Step.2 使用CentOS安裝光碟開機,在輸入啟動模式(就是輸入文字安裝模式linux text的地方),輸入linux dd然後Enter。

Step.3 選取USB隨身碟裡磁碟驅動程式影像檔,就可以掛載磁碟驅動程式了。

後註:只要是有驅動程式影像檔(Driver Disk Image,【.dd檔】)的硬體,都可以在安裝CentOS時加掛驅動程式。