<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>OpenJamの一人でできるもん！</title>
<link>https://ameblo.jp/openjam/</link>
<atom:link href="https://rssblog.ameba.jp/openjam/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>人に優しく・・・自分に厳しく・・・残り人生はそんなに長くない。</description>
<language>ja</language>
<item>
<title>ログイン情報の保存</title>
<description>
<![CDATA[ <p>★クッキーが使えること。でもクッキーにユーザ情報はいれたくないんだもん</p><br><p><strong>１．ログインテーブルにキーカラムと有効期間を追加しとく。<font color="#ff0000">loginkey</font>と<font color="#ff0000">expire</font>なんて風にしとく。</strong></p><p>クッキーにはloginkeyだけを保存して、クッキーを受け取ったらそいつでログインテーブルを検索する。</p><p>select * from login_table where クッキー=loginkey and expire &gt; sysdate; とか。</p><br><br><p><font color="#000000"><strong>２．見事に該当するレコードがあったらログイン処理をすっとばしちゃう。か、ログイン情報を表示してあげちゃう。</strong></font></p><p>よく会員サイトにある感じかな？アクセスするとユーザIDとパスワードが入力済みになってる奴。</p><br><br><p><strong>３．サンプルってこれで？（LoginFilter.php）</strong></p><p>&lt;?php<br>function postgres_connect($dbhost,$dbname,$dbuser,$dbpass) {<br> if (!($cn = pg_connect("host=hoge dbname=hoge"))) {<br>  echo "Not Connected";<br>  die;<br> }<br> return $cn;<br>}</p><p>function postgres_close($cn) {<br> pg_close($cn);<br>}<br>function setup_auto_login($userid, $userpasswd) {<br> <font color="#00ff00"><font color="#0000ff">// 認証が完了し、自動ログインを設定</font><br></font> $auto_login_key = sha1(uniqid(mt_rand(1,999999999), true)); // keyを生成<br> $sql = <font color="#0000ff">"insert into auto_login (userid, userpass, loginkey, expire, regdate) values (" ."'". pg_escape_string($userid). "', '". pg_escape_string($userpasswd). "', '". pg_escape_string($auto_login_key)."', '". date('Y-m-d H:i:s', time()+30) ."', '". date('Y-m-d H:i:s', time()) ."');";<br></font> pg_query($sql);<br> setcookie ('auto_login', $auto_login_key, time() + 30); // 30秒<br>}</p><p>function authorization($userid,$passwd,$flag){</p><p> $strResult=array(NULL,NULL);<br> if (!empty($_COOKIE['auto_login'])) {<br>  $con=postgres_connect($dbhost,$dbname,$dbuser,$dbpass);<br>  <font color="#0000ff">// クッキーが取得できる＆自動ログインが有効ならばクッキーで認証<br></font>  $sql = <font color="#0000ff">"select userid,expire,loginkey from auto_login where loginkey = '". pg_escape_string($_COOKIE['auto_login']) ."' and expire &gt; '". date('Y-m-d H:i:s'). "';";<br></font>  $result = pg_query($sql);<br>  while ($row = pg_fetch_row($result)) {<br>    $strResult[0] = $row[0]; //userid<br>    $strResult[1] = $row[1]; //expire<br>   }<br>  }<br>  postgres_close($con);<br> }else{<br>  if ($flag=="on" &amp;&amp; empty($_COOKIE['auto_login'])) {<br>   <font color="#0000ff">// はじめての自動ログインなら新しい自動ログインkeyを設定<br></font>   $con=postgres_connect($dbhost,$dbname,$dbuser,$dbpass);<br>   $sql = <font color="#0000ff">"select userid from auto_login where userid = '". pg_escape_string($userid) ."' and userpass = '". pg_escape_string($passwd). "';";<br></font>   $result = pg_query($sql);<br>   while ($row = pg_fetch_row($result)) {<br>    $strResult[0] = $row[0]; //expire<br>   }<br>   if(!is_null($strResult[0])){<br>    $sql = <font color="#0000ff">"delete from auto_login where userid = '". pg_escape_string($userid). "';";<br></font>    pg_query($sql);<br>    setup_auto_login($userid,$passwd);<br>    postgres_close($con);<br>    header("Location: ./LoginFilter.php"); <br>   }else{<br>    $strResult = null;<br>    postgres_close($con);<br>   }<br>  }else{<br>   <font color="#0000ff">// falseの場合ユーザIDとパスワードで認証 (通常の認証)<br></font>  }<br> }</p><br><p>クッキーがあったらauthorization</p><p>クッキーがなくてもユーザidとパスワードが入力されてたらauthorization</p><br><p>authorizationの配列がかえってきたら認証済み画面へ</p><p>でなきゃログイン画面へ</p><p><br></p><p><strong>４．一人でできちゃったもん</strong></p><br><br>
]]>
</description>
<link>https://ameblo.jp/openjam/entry-10029218030.html</link>
<pubDate>Wed, 28 Mar 2007 19:20:24 +0900</pubDate>
</item>
<item>
<title>Jboss内のインスタンスを複数起動する</title>
<description>
<![CDATA[ <p>★エイリアシングでNICに２つIPを割り当てとく。192.168.50.100　＆　192.168.50.200</p><br><p><strong>１．myappをコピー</strong><br></p><p>cp ${JBOSS_HOME}/server/<font color="#ff0000">myapp</font>  ${JBOSS_HOME}/server/<font color="#ff0000">myapp2</font></p><p><br></p><p><strong>２．bindingサービスを有効にしとく</strong><br></p><p>vi ${JBOSS_HOME}/server/<font color="#ff0000">myapp</font><font color="#000000">/conf/jboss-service.xml   // ports-defaultを使用</font></p><p>vi ${JBOSS_HOME}/server/<font color="#ff0000">myapp2</font><font color="#000000">/conf/jboss-service.xml　// ports-01を使用</font></p><br><p>bindingの設定は、${JBOSS_HOME}/docs/examples/binding-manager/sample-binding.xmlを適当にコピって使用</p><br><p>このときmyapp2のバインドアドレスをmyappと同じにしておけば、</p><p>異なるIPアドレスで（100&amp;200）jbossのインスタンスを参照できる。</p><p><br></p><p><strong>３．起動時に-bをつけとく</strong><br></p><p>${JBOSS_HOME}/bin/run.sh -c myapp -b 192.168.50.100 &amp;</p><p>${JBOSS_HOME}/bin/run.sh -c myapp2 -b 192.168.50.200 &amp;</p><p><br></p><p><strong>４．停止させちゃう</strong><br></p><p>${JBOSS_HOME}/bin/shutdown.sh -s jnp://192.168.50.xxx:内部バインドアドレス</p><p><br></p><p><strong>５．一人でできちゃったもん</strong></p><br><br><br><br>
]]>
</description>
<link>https://ameblo.jp/openjam/entry-10029215001.html</link>
<pubDate>Wed, 28 Mar 2007 18:52:21 +0900</pubDate>
</item>
</channel>
</rss>
