discuz的md5增強編碼

discuz這套論壇系統在中文區很受使用者喜愛,當然,越受歡迎的系統,越容易受到惡意的攻擊。

今天花了一點時間K了一下discuz的資料庫結構,順便看一下有沒有機會明白discuz的密碼保護方式,結果,它的安全性真的是夠讓我們放心的。

Read more

WordPress 2.8版資料庫結構更新

之前有在wordpress上開發外掛
對wp_posts資料表進行操作
在設計外掛的時候
就發現~wp_posts有一個欄位是記錄文章分類的欄位
這個欄位本來就沒有什麼作用
因為真正在處理分然和標籤的另外還有3個table
因為網站搬家的關係
我不想要那些資料了
只想保留域名和網站
於是建了新的database strature
結果~外掛不會運作
才發現~那個記錄文章分類的欄位不見了
早就該這樣了~真是的

Delphi的資料庫連接

1.dbexpress
2.ado
3.myodbc
4.3rd party object(Tmysql/zeros/MyDAC)

Tmysql
http://www.productivity.org/projects/tmysql/
看了介紹,Tmysql沒有使用TDatabase TQuery等,也不是使用BDE/ODBC
最後的版本在2002年的2月12日發佈
我用的是 Delhpi And C++ Builder 2009版的,不知道有沒有支援。

TDatabase是使用BDE(Borland Database Engine)
TQuery則是要設定ODBC資料來源(回想起當初出社會時,安裝軟體設定ODBC的痛苦)

MyDAC元件在網站是這麼介紹的
MySQL Data Aceess Componets,提供的物件蠻多的,請參考下圖
mydac_palette[1].jpg

下載頁在這裡,有免費版的可以下載
http://www.devart.com/mydac/download.html
重點是,有支援Delphi and C++ Builder 2009
而且,還有支援其他多種DB的連線
Oracle
SQL Server
InterBase
Firebird
PostgreSQK
(我又想去網路上找不是試用的版本了…唉宿命)
使用的是ADO.NET data provider, dbExpress drivers(不知道會不會連線成功)
首先,我沒有看到MyDAC的正式版或是破解版,所以咧,先用測試版跑看看。
在安裝的時候,出現了下面的訊息。
竟然找不到Hxds.dll
安裝MyDAC 5.8 for delphi and C++ Builder 2009,遺失Hxds.sll
經檢查,這是一隻微軟Help的元件,不過訊息上面說,這不是一個fatal(致命的錯誤),安裝會繼續完成。
這個錯誤訊息,一共出現了2次,我在想他是不是呼叫這件元件,來顯示他們的說明,anyway,不重要。
執行CodeGear RAD Studio 2009中的delphi 2009,出現了MyDAC的提示訊息,告訴我,我有60天的試用期。

哈哈~裝好了,就一個字爽
而且連接資料庫變的超簡單的

不過,看到他的價目表,嚇到我閃尿了!
標準 1人版 $129.95 USD金 群組版(4U) 299.95USD 網站版(同一間公司不限人數) $549.95 USD
專業 1人版 $199.95 USD金 群組版(4U) 499.95USD 網站版(同一間公司不限人數) $899.95 USD
其他的不敢看下去了(害我又想去找其他的版本了….)

* TMyConnection – lets you set up and control connections to MySQL database server
* TMyQuery – uses SQL statements to retrieve data from MySQL table or tables and supply it to one or more data-aware components through a TDataSource component and provides flexible data update functionality
* TMyTable – allows to retrieve and update data single table without writing SQL statement
* TMyStoredProc – executes stored procedures and functions
* TMyCommand – executes SQL statements and stored procedures, which do not return rowsets
* TMyScript – executes sequence of SQL statements
* TMyUpdateSQL – lets you tune update operations for a DataSet component
* TMyDataSource – provides an interface between a MyDAC dataset components and data-aware controls on a form
* TMySQLMonitor – allows to monitor dynamic SQL executing in MyDAC based applications
* TMyConnectDialog – allows you to build custom prompts for usernames, passwords, and servers
* TCRDBGrid – extends TDBGrid capabilities, provides visual access to filters and incremental search
* TVirtualTable – provides dataset functionality for data that has no real database connection
* MyDataAdapter – .NET component, uses TDataSet as data source for retrieving and saving data to System.Data.DataSet

MyDAC Professional Edition and MyDAC Developer Edition include the following additional components:

* TMyLoader – provides quick loading data to MySQL database
* TMyDump – serves to store a database or its parts as a script and also to restore database from received script
* TMyBackup – serves for backup copying specified tables on the server
* TMyServerControl – serves to control the server and execution of standard service tasks
* TMyEmbConnection – is used to establish connection to MySQL Embedded server
* TMyBuilder – serves to manage SQL Builder for MySQL Add-in
* TMyMetaData – retrieves metadata on specified SQL object
* TCRBatchMove – transfers data between all types of TDataSet descendants

另外,我找不到zeros的資料,網友說的不是很清楚。
The ZeosLib is a set of database components for MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle and SQLite for Delphi, FreePascal/Lazarus, Kylix and C++ Builder.
網友寫錯了,是zeos,從zeoslib或sourceforge都可以下載
免費,開源,而且支援的好像也不少
只是不知道好不好用而以
剛才看了官網和下載完package之後
我失望了
因為目前6.X的版本,並不支援delphi 2009(12.0),只支援 Delphi V11
我再找看看其他delphi連接mysql的元件好了

剛才看到有網友用 mysql windows版的元件+dbExpress來連接Mysql,也許操作起來沒有像MyDAC這麼方便,不過,最少是不用錢的,而且MySQL元件,只要去下載Win 32的版本,可以取得,如果要做軟體發佈的時候,只要把libmySQL.dll copy到windows\system32下,就可以了,簡單方便許多。
有興趣的,可以參考這篇文
http://www.jackforfun.com/2008/11/delphi-2009-dbexpress-unicode-mysql-50.html?showComment=1247908318404#c6037813891210543481

Access violation at address in module 'libmysql.dll'. Read of address.
可是我照上面的試來來做
卻是有問題的,之前這台有灌過xampp和apps,不知道是不是元件的問題….唉,先測別的先

wordpress post_tag and category 限制

原本想說~wordpress的post_tags當成keyword資料來源:
但是 因為 之前提到的 wordpress 資料庫過度正規化[請參閱 wordpress 資料庫正規化之我思….」
所以造成文章在更新tags及category時相當的麻煩
都想說~反正麻煩一次就好了~就來蠻幹好了~
看了一下資料庫的結構

2009-03-15_210652.png
看了資料庫結構~
真的很想哭~
name是index~(我的臉色變了)
slug是從name編碼來的~
slug是unique~就就是說~category及tags不能重覆~
OH-MY-GOD
category分類的名稱不能當成post_tag的名稱
這樣講怎麼合理~
假設一個資料豐富的站
有一個分類叫作「電腦科技」
剛好有一篇文章~在講環保節能減碳的~
談到Google的電腦科技~是造成電力浪費的主因之一~
糟了~加了關鍵字~自動bypass掉了….靠北邊走….
實在有夠鳥的~還好~有外掛工具可以輔助…

用mysql的trigger完成ping service

因為進行wordpress的二次開發
無法自動進行PING的動作
所以~花了時間去研究一下 mysql 的trigger要怎麼做
目前可以做到的~
在新增文章~或是更新文章的時候~
會自動新增(修改)另一個資料表
只要一個小程式~就可以判斷哪些文章還沒有PING過~
或是那一篇文章~修改過了~待PING

玩起來~還蠻有趣的~
今天~晚上算是玩樂~
而不是工作~哈哈

php5連接Oracle資料庫

因為工作的需要~需要透過php去連接Oracle資料庫

php除了連接mysql之外~也要連接Oracle資料庫
因為~公司主要的資料庫都是Oracle10g
1.鼎新tiptop GP5
2.MES

所以想利用php去oracle裡抓資料出來用~
我的php環境是Base on php5之上~
使用的OS~是Centos 5.0版
記憶體512MB ASUS 1U Server

Oracle原廠網站上提供了兩隻rpm
分別是
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm

但是這兩隻rpm的處理方式~
在官方文件中說的不清楚~
而且~如果要讓php在apache中被支援~
這整個動作變的很麻煩~
要重新編過apache(httpd)
所以最簡單的處理方式就是動態載入 Read more