更新 SSL 後 CURL 失效
1. 將新的 .crt 拷貝至 /etc/pki/ca-trust/source/anchors
2. 執行 update-ca-trust extract
3. 測試 curl 是否可以重新讀取
ref:
https://ep.gnt.md/index.php/curl-60-peers-certificate-issuer-is-not-recognized/
$GEOIP_URL = array( "TW" => "http://tw.yahoo.com/", "US" => "http://www.yahoo.com/" );
if(!empty($_SERVER[HTTP_X_FORWARDED_FOR])){ $proxy_ip=split(',',$_SERVER['HTTP_X_FORWARDED_FOR']); define("REMOTE_IP",$proxy_ip[0]); }else{ if(!empty($_SERVER[HTTP_RLNCLIENTIPADDR])) define("REMOTE_IP",$_SERVER[HTTP_RLNCLIENTIPADDR]); else define("REMOTE_IP",$_SERVER[REMOTE_ADDR]); }
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
ex: freetds.conf [mshost] host = 172.0.0.1 port = 1433 tds version = 7.0 client charset = UTF-8
mssql.php
$ms_host = "mshost"; //172.0.0.1
$ms_user = "msuser";
$ms_pass = "mspass";
$ms_db = "msdb";
register_globals = on/off
假如register_globals 設定為on 的情形下,
會造成POST, COOKIE, SESSION 如果有相同的變數會跟著一起改變,
最近公司的工作因為這個困擾了我一天...
為何在FreeBSD 下執行都沒事,
但搬回Windows 卻有這樣的問題,
主要是因為FreeBSD 的PHP.ini 設定
register_globals = off
而Windows 起初設定為
register_globals = on
改回來之後, 就沒這個問題了.
發生的現象,
假設
$db = new database;
而POST, SESSION 或COOKIE 裡有設定db為變數時,
$_POST['db'] / $_SESSION['db'] / $_COOKIE['db'] 的值則會跟著存 class database
所以架設Server設定時要注意這個設定.
<?php
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')
?>這樣就能接受第三方的Cookie啦。
server.modules = ("mod_setenv")
setenv.add-response-header = ( "P3P" => "CP='CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR'")apache的服務器
<VirtualHost>
Header set P3P 'CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'
</VirtualHost>IIS的服務器
<%
response.setHeader("P3P","CP=CAO PSA OUR");
%>
java代碼最簡單的辦法,增加一個filte:
public class TransNameFilter extends HttpServlet implements Filter {
private static org.apache.commons.logging.Log logWriter = LogFactory.getLog(TransNameFilter.class.getName());
/*
*
*/
public TransNameFilter() {
super();
}
/*(非Javadoc)
*@see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig arg0) throws ServletException {
}
/*(非Javadoc)
*@see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest hreq = (HttpServletRequest) request;
String transName = hreq.getParameter("transName");
if (Util.isNullOrEmpty(transName)) {
logWriter.fatal(" there is no transName for this request");
}else{
logWriter.info(" transName is " + transName);
}
HttpServletResponse res = (HttpServletResponse) response;
//iframe引起的內部cookie丟失
res.setHeader("P3P","CP=CAO PSA OUR");
if (chain != null)
chain.doFilter(request, response);
}
/*非Javadoc)
*@see javax.servlet.Filter#destroy()
*/
public void destroy() {
}
}