2012年1月31日 星期二

joomla 1.5 前台登錄、註冊、忘記密碼、帳號等加入recapthca驗證碼驗證功能的方法

下載recapthca的php資源的方法與申請設recapthca帳號、公鑰、私鑰的方法請自行參閱這篇文章,joomla 1.5後台管理加入recapthca的作法,重複的部份,這裡不再談了!

為joomla 1.5量身訂做的驗證碼驗證套件很多,為何還要辛苦去手動改為recapthca驗證碼,其實最主要還是安全的問題,因為recapthca驗證碼是有專人免費維護更新,所以較沒有必須不斷更新驗證碼的麻煩與被破解的風險。也因此筆者才要做這個更改,再者它也提供無障礙功能!

我們的目標是要在Joomla 1.5裡,在使用者註冊使用者登入忘記帳號忘記密碼等四個頁面裡加入recapthca驗證碼驗證功能。如下圖

imageimageimageimage

要完成這四個目標頁面,主要必須找到Joomla 1.5裡相關檔案,在該檔案中適當的位置加入相關的recapthca驗證碼語法!

其中所謂的相關檔案主要放於下列資料夾裡:

2012年1月30日 星期一

CB的中文語言檔安裝設定法!

很多人下載CB1.3完整包後,不知如何安裝繁體中文語系,卻怪小弟是否沒放進繁體中文語系?所以只好在此寫此繁體中文語系檔安裝使用的方法

如下圖在後台裡,選擇CB的plugin管理員

image

進到如下畫面後,點選安裝plugin

image

進到如下畫面後,點選選擇檔案,再選上傳及安裝

image

上傳及安裝完後,回到plugin管理員裡,就可以看到traditional_chinese,這個plugin,記得將其發布即可(印象中是這樣的,若有問題的話請在反應討論)。

至於1.7版的繁體中文語言檔,我這邊並沒有,加上近來忙於它務,所以無心改寫!

網友或可自己在網路上蒐尋,找到的話,亦可到此來分享!

然而其實1.3版的繁體中文語言檔,在1.7版裡亦可用(雖有一兩個詞句找不到對應的繁體中文字,但並不影響正常操作與使用)!

2012年1月22日 星期日

joomla 1.5後台管理加入recapthca的作法

首先到http://code.google.com/intl/zh-TW/apis/recaptcha/docs/php.html,進入其中的reCAPTCHA PHP library,下載recaptcha-php-1.11.zip,然後解壓縮,將其中的recaptchalib.php這個程式上傳複製到你的網站裡(要記住你存放的位置路徑,若要免去麻煩,可以將其拷備在與你以下即將更改的程式之同一個資料夾裡!),

接著在你的joomla 1.5的安裝路徑裡,找到administrator/modules/mod_login裡的mod_login.php這個程式

找到其中表單的部份:

<form action="<?php echo JRoute::_( 'index.php', true, $params->get('usesecure')); ?>" method="post" name="login" id="form-login" style="clear: both;">

<p id="form-login-username">
                <label for="modlgn_username"><?php echo JText::_('Username'); ?></label>
                <input name="username" id="modlgn_username" type="text" class="inputbox" size="15" />
        </p>

        <p id="form-login-password">

.................................................

................................................

................................................

        <div class="button_holder">
        <div class="button1">
                <div class="next">
                        <a onclick="login.submit();">
                                <?php echo JText::_( 'Login' ); ?></a>

                </div>
        </div>
        </div>
        <div class="clr"></div>
        <input type="submit" style="border: 0; padding: 0; margin: 0; width: 0px; height: 0px;" value="<?php echo JText::_( 'Login' ); ?>" />
        <input type="hidden" name="option" value="com_login" />
        <input type="hidden" name="task" value="login" />
        <?php echo JHTML::_( 'form.token' ); ?>
</form>

然後在適當的位置加入以下語法:

<?php
//底下是發哥自己加入的
?>
<div align="center">請於下列欄位中輸入下圖所見之驗證碼</div>
<div align="right"><?php
require_once('recaptchalib.php');
          $publickey = "你的公開鑰匙"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
<?php
//以上是哥發自己加入的
?>

註:其中的你的公開鑰匙改為你在google reCAPTCHA註冊申請的帳密所得到的Public Key資料,而recaptchalib.php的路徑則必須視你的上傳複製的實際路徑位置而調整!

如下圖(在sign up點選之後,會有一些設定步驟,這裡我就不說了!)

image

 

其中註冊完後,可以看到如下圖頁面的資料,其中主要是會用到Public KeyPrivate Key的資料!

image

若一切正確,改完後,你的後台登入畫面應該就會變成這樣:

image

但此實雖可以看到畫面,卻還不能直正有作用,因為還沒有作確認頁的設定。

接著我們還要找到administrator/components/com_login路徑下的admin.login.php這個程式。

用文字編輯器打開admin.login.php

找到 function login()這一段(約52行的位置)

  function login()
        {
//
  require_once('recaptchalib.php');
  $privatekey = "你的私人密鑰";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("你輸入的驗證碼錯誤,請回上一頁再試一次!" .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }

//

                global $mainframe;

                // Check for request forgeries
                JRequest::checkToken('request') or jexit( 'Invalid Token' );

                $credentials = array();

在其間加入紅色粗體字所標示的字串,其中的你的私人密鑰改為你在google reCAPTCHA註冊申請的帳密所得到的Private Key資料,而recaptchalib.php的路徑則必須視你的上傳複製的實際路徑位置而調整!

這樣子設定完後,你的就可以使用recapthca來保護你的joomla 1.5後台

2012年1月15日 星期日

word 2007如何用掃描器直接掃描圖片到word裡?

首先在word的「插入」頁籤裡選擇如圖示的美工圖案。

image

接著會在工作區的右邊看到如下圖紅色箭頭所指之區域,然後選擇所指的「多媒體藝廊」。

image

接著會跳出如下圖之工作視窗,然後依下圖中紅色箭頭所指之步驟,先後選擇「檔案」、「新增多媒體項目到多媒體藝廊」、「從掃描器或照相機」。

image

會跳出如下圖之對話框!然後選擇你的掃描器(你的會與我的不同),然後選擇「自訂插入」選項!(這樣才能設定你要掃描的區域!)

image

接著往下會跳出你平時使用你的掃描器的程式,而你也就只要就你平日的用法來操作它即可!這幫我先選擇預覽!

image

預覽完後,我再設定所要掃描的範圍!

image

接著設定完範圍後,我才點選正式掃描!

image

在你掃描完圖像後,你會看到所掃的圖片已進到「多媒體藝廊」裡了!

接著在你要插入要word的圖片上按滑鼠右鍵,選擇其中的「複製」選擇!

image

再到word裡按滑鼠右鍵,選擇貼上,這樣,你掃描的圖片就插入到word 2007裡了!

image

2012年1月8日 星期日

點將家卡巧系列如何升級?

首先到其網站上下載最新的系統,接著將下載之壓縮檔解壓縮,將所有檔案燒在一塊光碟片裡,再依說明書裡指示的方式更新即可!

2012年1月7日 星期六

php已安裝已起動,mysql已安裝已起動,httpd已起動,但到web伺服器查看網頁時,卻說你還沒裝mysql伺服器?

會遇到這樣的現象,可能是你的php-mysql module還沒安裝,
可以
yum -y install php-mysql
來安裝。

php(mysql)上傳限製之設定

用 root 身分編輯 /etc/php.ini , 修改以下資訊:
max_execution_time = 300 ; //每個 script 執行時間上限, 單位是秒.
max_input_time = 300 ; //每個 script 處理輸入資料可用時間上限, 單位是秒.
memory_limit = 999M ; //每個執行中的 script 最多可使用的系統記憶體資源.
post_max_size = 800M ; //PHP 能夠接受發表文章的容量上限.
file_uploads = On ; //這個不用改, 安裝完就是 On 了, 請確定你的也是 On.
upload_max_filesize = 800M ; //允許上傳檔案的最大容量.
default_socket_timeout = 300; //Socket 無回應斷線時間上限.
mysql.connect_timeout = -1 ; //MYSQL 無回應斷線時間上限, -1 代表永遠等下去.

memory_limit > post_max_size > upload_max_size
如果你打算讓你的系統能夠上傳更大的檔案, 可以自行增加某些數值.
但設定過大的值, 不保證系統的穩定性.


有些數值有相互關係, 例如, memory_limit 必須大於 upload_max_filesize 與 post_max_size.

2012年1月6日 星期五

linux 如何關掉SELINUX?

關掉SELINUX,在/etc/selinux/config 設定檔如下;
/etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=Disabled  #這樣就把SELINUX伺服器關掉了,請重新開機系統;
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted
如果只要關掉selinux而不想重新開機,可以直接下如下指令:setenforce 0

2012年1月5日 星期四

我將原來centos 5廢掉改安裝在centos 6 的方法!

原來在centos 5下,除了系統硬之外,還有兩顆獨立的硬碟,其結構如下

/dev/mapper/VolGroup00-LogVol00
                     113410608  12249788  95306820  12% /
/dev/sda1             19919336    235208  18654668   2% /boot
tmpfs                  1553280         0   1553280   0% /dev/shm
/dev/sdc1            480719056 116089924 340209932  26% /var/www/g2data
/dev/sdb1            480719056 190972784 265327072  42% /var/www/html

其中

/dev/sda1    為第一顆系統碟

/dev/sdb1    為第二顆資料碟(裡面裝著gallery2的所有資料)   掛載路徑  /var/www/g2data

/dev/sdc1    為第三顆資料碟(裡面裝著其它所有網頁服務管理程式及資料)   掛載路徑  /var/www/html

 

由於是要在一個新的硬碟裡架設新的系統

所以我在一顆新的硬碟裡安裝centos 6

安裝完後 先以yum –y update更新到最新的版本

接著安裝webmin

接著將原系統內之httpd.conf與iptables複製到新的系統內

接著開啟/etc/fstab將最底部加上下列兩行(使系統開機時自動掛載硬碟到/var/www/g2data與/var/www/html)

/dev/sdc1  /var/www/g2data  ext3  nosuid,noexec,nodev  0  0
/dev/sdb1  /var/www/html  ext3  nosuid,noexec,nodev  0  0

再在系統裡安裝ffmpeg與MPlayer及MEncoder(方法請看這篇文章:centos 安裝ffmpeg 及 mplayer mencoder)

還要將原先執行自動備份之contra…的檔案複製到目的地,如此才能接續原先的自動備份功能!

另外/home/http_user這個資料夾整個拷備到新系統的相對位置。

/var底下有幾個自己寫的幾個簡單的script也要拷備到相對位置!

其間會遇到防火牆設定的問題,我必須將舊主機的防火牆設定檔拷回新主機,新主機的senlinux也必須關掉!

然而在重新安裝完後,我遇到了ostube亂碼的問題,也就是在phpMyadmin裡看檔案資料都可以正常觀看中文,如下圖

image

但當我到ostube網站觀看資料時,卻出現如下圖的亂碼?

image

上網找了半天沒有看到像我這樣的問題,但卻有看到有提到網站看沒問題到資料庫端看會出現亂碼的例子,如是我就試著做看看將(資料來源:阿杰老師的 osTube 實驗室

開啟程式 

var/www/ostube/includes/class.database.php

約第50行:找到function DBaccess

往下找到$this->connected = true;(第59行)

在上一行插入@mysql_query("SET NAMES utf8",$this->connection);

參考程式碼如下:


if(!$this -> connection = @mysql_connect($DBhost,$DBuser,$DBpass)) {
     if($this->debug) die("Error: Can not connect to database - " . $DBhost);
              unset($this);
              return false;
         } else {
               $this->connected = true;
          }
改成
if(!$this -> connection = @mysql_connect($DBhost,$DBuser,$DBpass)) {
     if($this->debug) die("Error: Can not connect to database - " . $DBhost);
         unset($this);
         return false;
    } else {
@mysql_query("SET NAMES utf8", $this->connection);
          $this->connected = true;
       }

也就解決了我ostbue亂碼的問題了!真高興!

image

2012年1月4日 星期三

centos 安裝ffmpeg 及 mplayer mencoder

Installing FFmpeg, MPlayer and MEncoder on CPanel and Centos 6 on Hyper-V
Posted in Linux Server, Virtual Machine Manager | 5 Comments | 1,108 views | 03/10/2011 13:52
You need FFmpeg, MPlayer and MEncoder for video processing. I’ll show you how to install and configure it on Hyper-V.
I’ve already posted couple of articles about CentOS 6 installation on Hyper-V, so I won’t mention about that again.
You can see CentOS 6 installation on Hyper-V at the following posts:
So I assume you have a CentOS 6 with Hyper-V LIS v3.1. So lets continue with our installation.
First, we need to install RPMforge repository on CentOS 6.
1. Install the DAG GPG key.
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt


2. Download RPMforge-release package.
cd /home
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm (if your server x86)
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

3. Verify the RPMforge-release package you have downloaded.
rpm -K rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

4. Install the RPMforge-release package.
rpm -i rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

5. Now we can install FFmpeg, MPlayer and MEncoder.
yum install ffmpeg ffmpeg-devel mplayer mencoder

6. You may get this error when you try to install components.
Requires: perl-SGMLSpm >= 1.03ii

7. Download perl-SGMLSpm package to CentOS.
wget http://ftp.twaren.net/Linux/Scientific/41/i386/SL/RPMS/perl-SGMLSpm-1.03ii-14.noarch.rpm

8. perl-SGMLSpm may require OpenJade.

9. Let’s install openjade on CentOS.
yum install openjade

10. Try re-install perl-SGMLSpm.
rpm -ivh perl-SGMLSpm-1.03ii-14.noarch.rpm

11. After perl-SGMLSpm installation, you can continue to install FFmpeg, MPlayer and MEncoder.
yum install ffmpeg ffmpeg-devel mplayer mencoder

12. Now, you can test your ffmpeg installation.
ffmpeg -v

If you see same results on your server, it means your ffmpeg is ready.

2012年1月3日 星期二

linux 開機執行層級之設定

打開這個檔案
/etc/inittab
將其中的
id:3:initdefault:
其中的3改為你要的層級即可