2015年5月18日 星期一

[ssl]comodo ssl + apache

整理部分步驟 1.openssl 產生KEY FILE openssl genrsa -out ca.key 2048 產生csr(主要傳到comodo上去簽章) openssl req -new -key ca.key -out ca.csr 2.合成bundle.crt cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt >> bundle.crt 3.修改 apche httpd virtual設定 (EX:/etc/httpd/conf.d/000-default.conf) ProxyPreserveHost On SSLEngine on SSLCertificateKeyFile /etc/ssl/cardsfun/ca.key SSLCertificateFile /etc/ssl/cardsfun/www_cardsfun_net.crt SSLCACertificateFile /etc/ssl/cardsfun/bundle.crt ServerName www.servername.com 4.重新啟動apache PS:驗證方式 Heartbleed Vulnerability Scanner (https://sslanalyzer.comodoca.com/heartbleed.html) 輸入相關網址或是IP 可以看到掃描結果

2015年4月7日 星期二

[JAVA]解決MySql mysql noAccessToProcedureBodies=true 問題

今天早上在寫完相關的MySql Procedure後 部上相關程式 執行後遇到以下類似以下錯誤畫面 java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types. 解決方法可以參考 http://chenzhou123520.iteye.com/blog/1542852 執行相關解決方式後 GRANT SELECT ON mysql.proc TO 'username'@'%'; 問題解決了 哇啊~~~ 超方便

2015年1月16日 星期五

[Linux] SVN事件整理

最近在某一次更新後 SVN就告急 怎麼連都沒辦法連進去 查了很多文件 本來在萬念俱灰的情況 要重建相關的SVN資料夾 後來發現 萬惡的罪魁禍首 就是selinux 整理相關指令 應急措施 關閉目前的enforce (下次啟動後就會開啟) echo 0 >/selinux/enforce 永久關閉 vim /etc/selinux/config 將原先的 SELINUX=enforcing 更改成 SELINUX=disable PS:此設定要下次開機才會生效 後來就恢復正常了 呼 真是嚇到我了

2014年12月14日 星期日

[Linux] fail2ban 檢查是否IP有被封鎖

Step1:查看目前 Iptable中被封鎖的IP iptables -L fail2ban-SSH -v -n --line-numbers Step2:如果有在某行有找到相關的IP iptables -D fail2ban-SSH line-number DONE

2013年7月30日 星期二

[Android]增加shortcut

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=263994 需求:应用程序启动的时候,可以检测下是否已经添加了快捷方式,没有添加的话就添加 public void checkShortCut() { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mapViewActivity); // 是否在桌面上添加了快捷方式 boolean never_check_shortCut = sp.getBoolean("never_check_shortCut", false); // 存在快捷方式或者不允许添加,return if (never_check_shortCut){ return; }else{ //其实这里最好做成对话框提示的形式,这样给用户感觉会更友好,我这就简单点,直接默认会添加了 addShortCut(); // 保存已经添加了快捷方式的信息,以便程序下次启动的不再提示 Editor editor = sp.edit(); editor.putBoolean("never_check_shortCut", true); editor.commit(); } } public void addShortCut() { // 添加快捷方式 //指定快捷方式的Action Intent installShortCut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); //添加快捷方式的名称 installShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); installShortCut.putExtra("duplicate", false); //下面NewAppActivity是我这边当前的activity名字,用的时候可以适当改成你自己的activity名 ComponentName comp= new ComponentName(NewAppActivity.this.getPackageName(),"."+NewAppActivity.this.getLocalClassName()); installShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp)); //指定图标 ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(NewAppActivity.this, R.drawable.icon); installShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); //发送广播 sendBroadcast(installShortCut); } 最后,别忘了在清单文件中加权限:

2013年6月1日 星期六

[Shell]合併每兩行

Step1:先將檔案內的編碼轉換成UTF8 iconv -f cp950 -t utf8 t1 >t2 Step2:合併文件中的每兩行 awk 'NR%2{printf "%s,",$0;next}{print;}' t2 >t3 Step3:移除文件空的TAB cat t3 | sed -e 's/^[ \t]*//'>t4 t4檔案就是我們要的 合併前面兩行 且去除TAB 後的結果

2013年4月30日 星期二

[Bash]去除文件中重複的內容

file文件內容
AAA
FFF
BBB
FFF
CCC
BBB
可以利用awk awk ' !x[$0]++' file 最後完成的檔案
AAA
FFF
BBB
CCC