OpenID: For Future Authentication?

I don’t have any ideas, why OpenID not too familiar yet since its first existences in May 2005. As one of authentication protocol, OpenID purposed to provide a concise way to authenticated user by only entering owned domain name & dropping password field – in usual manner to support single-sign-on – (of course, user need to be self confirmed at first use in any login page). Some said that basic security protocol used by OpenID is too weak. Perhaps, this makes provider such as PayPal, Yahoo, IBM, VeriSign, Facebook & Google enhancing their own process based on its standard protocol just to make the use of OpenID more secure, but this makes OpenID not kind of universal things.

Based on my experience - by continuing my previous article – with the same topic: Single Account, Multiple Services, here’s my report about generating OpenID on your own domain name – more specific actually - in a Google Apps. You may ignore this article if you have already registering your OpenID in common provider likes ClaimID, MyOpenID, etc, but I’m afraid you’ll lose how to get this things work. And on this current article, I’d covered out.

My experience begun with my curiosity to make my owned domain name as a wide & acceptable OpenID on any login pages that support it. Based on Google API’s, the first thing I need to provide on my www folder was 2 files only; openid & host-meta file. Each of it has structures below:

openid files:
<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
<XRD>
<CanonicalID>abc.com</CanonicalID>
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<URI>https://www.google.com/a/abc.com/o8/ud?be=o8&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_request&openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.type.country=http%3A%2F%2Faxschema.org%2Fcontact%2Fcountry%2Fhome&openid.ext1.type.language=http%3A%2F%2Faxschema.org%2Fpref%2Flanguage&openid.ext1.type.firstName=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst&openid.ext1.type.lastName=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast&openid.ext1.required=email%2Ccountry%2Clanguage%2CfirstName%2ClastName&openid.ns.ext2=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fui%2F1.0&openid.ext2.icon=true</URI>
</Service>
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<URI>https://www.google.com/a/abc.com/o8/ud?be=o8&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_request&openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.type.country=http%3A%2F%2Faxschema.org%2Fcontact%2Fcountry%2Fhome&openid.ext1.type.language=http%3A%2F%2Faxschema.org%2Fpref%2Flanguage&openid.ext1.type.firstName=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst&openid.ext1.type.lastName=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast&openid.ext1.required=email%2Ccountry%2Clanguage%2CfirstName%2ClastName&openid.ns.ext2=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fui%2F1.0&openid.ext2.icon=true</URI>
</Service>
</XRD>
</xrds:XRDS>


host-meta files:
Link: <https://www.google.com/accounts/o8/site-xrds?hd=abc.com>; rel="describedby http://reltype.google.com/openid/xrd-op"; type="application/xrds+xml"


On both files, don’t forget to replace abc.com with your domain name then upload it on your www directory. Create a directory named by .well-known & move host-meta file in it. As additional, also create (if it doesn’t exist) an index page. In my example, I also copy index.php to index.error.php. You’ll know soon why I created it.

To recognized openid file & adding error 404 forwarder functionality, create (again, if it doesn’t exist) .htaccess file like example below:

.htaccess files:
ErrorDocument 404 /index.error.php
<Files openid>
ForceType application/xrds+xml
</Files>


Now you have the same www directory structure like mine below:



Until this step, you have succeeded creating your own OpenID named with “abc.com/openid”. Test it to a page, let say a blog page. Make a comment & select OpenID identity.



Enter your OpenID “abc.com/openid”. Here below is my example:



Make a preview & submit. Your comment submitted as “openid” which has link to your domain name.



Unfortunately, now we have 2 problems arise: Why if I clicked that link, my browser continues to download this openid file? And why my identity recognized as “openid”? To solve the first problem, change openid file name on www directory to whatever you like. These changes, continues with replacing “openid” with new name on .htaccess file:

ErrorDocument 404 /index.error.php
<Files "what.ever.you.like">
ForceType application/xrds+xml
</Files>


After you changed the name, the structure changes like picture below.



After changed that, try to click again the “openid” link, and tell me what you see? The index page will show replacing downloading file process. This is the reason why we created 404 errors forwarding on .htaccess. Hence, your OpenID also changed from “abc.com/openid” into “abc.com” only. Much simpler, isn’t it?

Anyway, the last problem still unresolved – at least I tried on blogger.com. While I suspect that the blogger OpenID library does not work with Google's (Apps) discovery extensions * is my guess right? *. However, at a time, Google implemented a proof-of-concept implementation of a next-generation OpenID discovery protocol which is it’s not a “full version” yet. Even when it becomes a standard, it is not backwards compatible with the OpenID 2.0 and earlier. Hmm.. see that?



By the way, before you use your OpenID on a different authentication page, why don’t you take a test to http://www.puffypoodles.com/?. On picture above, I’d tested it just to prove that my OpenID is recognized & acceptable. The test result means that with basic OpenID authentication, it succeeded to retrieve all of possible AX (Attribute eXchange) of OpenID, including email address, home country, preferred language, first name & last name. The conclusion is, the treatment of OpenID yet is different on each authentication since it still in “growing” era going to robustness. Maybe in couple years, a standardize of OpenID will be shaped, to make authentication more secure, private & intimate.

Labels: , , ,

  Post a Comment

My Blog Template

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<MainPage><title><$BlogTitle$></title></MainPage>
<ArchivePage><title><$BlogPageTitle$></title></ArchivePage>
<ItemPage><title><Blogger><$BlogItemTitle$></Blogger> - <$BlogTitle$></title></ItemPage>
<meta name="keywords" content="<Blogger><ItemPage><$BlogItemTitle$>, </ItemPage></Blogger><$BlogTitle$>" />
<meta name="description" content="<Blogger><ItemPage><$BlogItemTitle$> | </ItemPage></Blogger><$BlogTitle$>" />
<META name="Keywords" content="Eko wahyudiharto website promotion information, search engines help, engine website promotion service, help increase traffic, linux fedora, programming delphi, visual basic, mysql, oracle, politic, hacker, i am not a terorist, computer, red hat, no more free sex or xxx">
<META name="Description" content="Eko wahyudiharto Our search engine submission help and ranking secrets will help improve your website's position. The URL-submit secrets will help you track and improve your ranking, and to submit your website URL at the TOP of the major search engines for free - it will get more hits to your website than banner ads.">
<META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="EN">
<META name="Copyright" content="Free Website Ranking Position Secrets">
<META name="Author" content="Eko wahyudiharto">
<META name="Robots" content="ALL">
<META name="Revisit-After" content="14 days">
<meta name="verify-v1" content="Jf+FKT8GqE+LtgpJcKy90Ke9zRzv25lcBBKf8r5pa6o=" />
<$BlogMetaData$>

<STYLE type=text/css media=screen>


body {
padding-right: 0px; padding-left: 0px; font-size: 78%; background: url(http://photos1.blogger.com/blogger/1127/774/1600/bg.0.png) #e8e8ce fixed repeat-x; padding-bottom: 0px; margin: 0px; color: #333; padding-top: 0px; font-family: "lucida grande", "lucida sans unicode", verdana, arial, sans-serif; text-align: center
}
p {
font-size: 1em; margin: 1.2em 0px; line-height: 1.5em
}
ol {
padding-right: 0px; padding-left: 0px; font-size: 1em; padding-bottom: 0px; margin: 1.2em 0px 1.2em 2em; line-height: 1.5em; padding-top: 0px
}
ul {
padding-right: 0px; padding-left: 0px; font-size: 1em; padding-bottom: 0px; margin: 1.2em 0px 1.2em 2em; line-height: 1.5em; padding-top: 0px
}
h1 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h2 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h3 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h4 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h5 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h6 {
margin: 1.2em 0px; color: #9bbb38; font-family: "lucida grande", tahoma, arial, sans-serif
}
h1 {
font-size: 1.4em
}
h2 {
font-size: 1.4em
}
h3 {
font-size: 1.3em
}
h4 {
font-size: 1.2em
}
a {
text-decoration: none
}
a:link {
color: #e58712
}
a:visited {
color: #b96f17
}
a:hover {
color: #9bbb38
}
a:active {
color: #9bbb38
}
input {
border-right: #c1c0b5 1px solid; border-top: #c1c0b5 1px solid; font-size: 1em; border-left: #c1c0b5 1px solid; color: #333; border-bottom: #c1c0b5 1px solid; font-family: "lucida sans unicode", tahoma, arial, sans-serif; background-color: #fafaf0
}
textarea {
border-right: #c1c0b5 1px solid; border-top: #c1c0b5 1px solid; font-size: 1em; border-left: #c1c0b5 1px solid; color: #333; border-bottom: #c1c0b5 1px solid; font-family: "lucida sans unicode", tahoma, arial, sans-serif; background-color: #fafaf0
}
select {
border-right: #c1c0b5 1px solid; border-top: #c1c0b5 1px solid; font-size: 1em; border-left: #c1c0b5 1px solid; color: #333; border-bottom: #c1c0b5 1px solid; font-family: "lucida sans unicode", tahoma, arial, sans-serif; background-color: #fafaf0
}
blockquote {
padding-right: 20px; padding-left: 20px; font-size: 0.9em; padding-bottom: 0px; margin: 0px 20px; border-left: #e8e7d0 4px solid; padding-top: 0px
}
code {
color: #666; font-family: monospace
}
form {
border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; border-right-width: 0px
}
img {
border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; border-right-width: 0px
}
.small {
font-size: 0.9em; color: #999
}
#wrapper {
margin: 0px auto; width: 750px; background-color: #fff; text-align: left; margin-top: -80px;
}
#header {
width:100%;
margin:0 auto 0 auto;
padding-top:0px;
height: 200px;
background: url(http://www.pegadaian.co.id/download/blog/blog_header.jpg) no-repeat;
border-bottom:0px dashed #ccc;
}
#header h1 {
font-size: 1.8em; margin: 0px
}
#header h1 a {
color: #80904f; text-decoration: none
}
#content {
display: inline; float: left; margin: 0px 0px 0px 20px; width: 500px
}
#sidebar {
padding-right: 0px; display: inline; padding-left: 0px; font-size: 0.9em; float: left; padding-bottom: 0px; margin: 0px 20px; width: 190px; padding-top: 1.8em
}
html #content {
overflow: hidden
}
html #sidebar {
overflow: hidden
}
#footer {
clear: both; font-size: 0.9em; text-align: right
}
#footer p {
padding-right: 0px; border-top: #9bbb38 10px solid; padding-left: 0px; font-size: 0.9em; padding-bottom: 20px; margin: 0px; padding-top: 10px; background-color: #e8e8ce; text-align: right
}
#sidebar h2 {
padding-right: 10px; display: inline; padding-left: 0px; font-size: 1.1em; background: url(http://photos1.blogger.com/blogger/2848/600/1600/arrow.gif) no-repeat right center; padding-bottom: 0px; margin: 1.2em 0px 0.6em; padding-top: 0px
}
#sidebar h2 a {
color: #9bbb38
}
#sidebar h2 a:hover {
color: #e58712
}
#sidebar ul {
padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; list-style-type: none
}
#sidebar ul li {

}
#sidebar ul ul {
border-top: #e8e7d0 1px solid; margin: 1.2em 0px; background-color: #fafaf0
}
#sidebar ul ul li {
padding-right: 0px; padding-left: 10px; padding-bottom: 0px; padding-top: 0px; border-bottom: #e8e7d0 1px solid
}
#sidebar ul ul li a {
padding-right: 10px; display: block; padding-left: 10px; padding-bottom: 0.1em; margin: 0px 0px 0px -10px; width: 170px; padding-top: 0.1em; voice-family: inherit
}
#sidebar ul ul li a:hover {
background-color: #fff
}
#sidebar ul ul ul {
margin: 0px; border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none
}
#sidebar ul ul ul li {
padding-right: 0px; border-top: #e8e7d0 1px solid; padding-left: 25px; padding-bottom: 0px; margin: 0px 0px 0px -10px; padding-top: 0px; border-bottom-style: none
}
#sidebar ul ul ul li a {
padding-right: 10px; padding-left: 25px; padding-bottom: 0.1em; margin: 0px 0px 0px -25px; width: 155px; padding-top: 0.1em; voice-family: inherit
}
.post {
}
.posttitle {
margin-bottom: 0px; overflow: auto; width: 100%; color: #fff
}
.posttitle a {
padding-right: 10px; padding-left: 10px; background: url(http://photos1.blogger.com/blogger/1127/774/1600/posttitle.gif) #9bbb38 no-repeat right top; float: left; padding-bottom: 0px; padding-top: 0px
}
.posttitle a:link {
color: #fff
}
.posttitle a:visited {
color: #fff
}
.posttitle a:hover {
background: url(http://photos1.blogger.com/blogger/1127/774/1600/posttitle.gif) #e8e7d0 no-repeat 100% -91px; color: #80904f
}
.posttitle a:active {
background: url(http://photos1.blogger.com/blogger/1127/774/1600/posttitle.gif) #e8e7d0 no-repeat 100% -91px; color: #80904f
}
.postmeta {
margin-top: 0px; font-size: 0.9em; background: url(http://photos1.blogger.com/blogger/1127/774/1600/postmeta.png) no-repeat left top; color: #999; padding-top: 1px
}
.postentry {

}
.permalink {
padding-right: 0px; padding-left: 14px; background: url(http://photos1.blogger.com/blogger/1127/774/1600/permalink.png) no-repeat left center; padding-bottom: 0px; margin: 0px 1.8em 0px 0px; padding-top: 0px
}
.commentslink {
padding-right: 0px; padding-left: 17px; background: url(http://photos1.blogger.com/blogger/1127/774/1600/commentslink.png) no-repeat left center; padding-bottom: 0px; padding-top: 0px
}
#commentlist {
padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px; padding-top: 0px; border-bottom: #e8e7d0 1px solid; list-style-type: none
}
#commentlist li {
padding-right: 20px; border-top: #e8e7d0 1px solid; padding-left: 20px; padding-bottom: 1px; padding-top: 1px; background-color: #fff
}
.alt {
background-color: #fafaf0! important
}
.commenttitle {
font-size: 1.1em; margin-bottom: 0px
}
.commentmeta {
margin: 0;

font-size: 0.92em;
color: #999;
}
#comment {
width: 98%
}
#sidebar #s {
margin-bottom: 2px; width: 180px
}
#navbar-iframe {
display: none;
}
</STYLE>


<script type="text/javascript">

function sh (id) {

whichpost = document.getElementById(id);

if (whichpost.className=="show") {
whichpost.className="hide";
}
else {
if (whichpost.className=="hide") {
whichpost.className="show";
}
}
}


<ItemPage>
var hasChanged = 0;
var hostName = 'blogspot.com';

function setCookie (name, value, expires) {
document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString() + '; domain=' + hostName + '; path=/';
}

function getCookie (name) {
var key = name + '=';
var c = document.cookie;
var i = c.indexOf(key);
if (i < 0) return '';
var j = c.indexOf(';', i + key.length);
if (j < 0) j = c.length;
return unescape(c.substring(i + key.length, j));
}

function rememberMe (f) {
var now = new Date();
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
setCookie('author', f.anonName.value, now);
setCookie('site', f.anonURL.value, now);
}

function setFormValues (f) {
f.anonName.value = getCookie("author");
f.anonURL.value = getCookie("site");
}

function doLoaded () {
if (!document.frmComment) return;
setFormValues(document.frmComment);
if (document.frmComment.anonName.value)
document.frmComment.rememberInfo.checked = 1;
}
onload = doLoaded;

function escapeQuotes(text) {

text=text.replace(/'/g,"\\'");
text=text.replace(/\n/g,"\\n");
return text;
}

function insertTags(tagOpen, tagClose, sampleText) {

var txtarea = document.cFrm.postBody;
// IE
if(document.selection) {
var theSelection = document.selection.createRange().text;
if(!theSelection) { theSelection=sampleText;}
txtarea.focus();
if(theSelection.charAt(theSelection.length - 1) == " "){
theSelection = theSelection.substring(0, theSelection.length - 1);
document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
} else {
document.selection.createRange().text = tagOpen + theSelection + tagClose;
}
// Mozilla
} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
var startPos = txtarea.selectionStart;
var endPos = txtarea.selectionEnd;
var myText = (txtarea.value).substring(startPos, endPos);
if(!myText) { myText=sampleText;}
if(myText.charAt(myText.length - 1) == " "){ // exclude ending space char, if any
subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
} else {
subst = tagOpen + myText + tagClose;
}
txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length);
txtarea.focus();
var cPos=startPos+(tagOpen.length+myText.length+tagClose.length);
txtarea.selectionStart=cPos;
txtarea.selectionEnd=cPos;
// All others
} else {
tagOpen=tagOpen.replace(/\n/g,"");
tagClose=tagClose.replace(/\n/g,"");
document.infoform.infobox.value=tagOpen+sampleText+tagClose;
txtarea.focus();
}
if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();

}


//Preview
function PreviewpostBody(){
if (cFrm.postBody.value=='') return;
var preview=window.open('','Preview','width=500,height=200');preview.document.open();
var text=cFrm.postBody.value;while(text.indexOf("\n") > -1)
text=text.replace("\n","<br/>");
preview.document.write('<html><style>*{font-size:11px;font-family:Verdana,Arial,Sans-Serif}<\/style><bo'+'dy>'+text+'<\/body><\/html>');
preview.document.close();
}
</ItemPage>
</script>
</HEAD>

<BODY>


<DIV id=wrapper>

<DIV id=header><br /><br /><br />
<H1><a href="<$BlogURL$>"><$BlogTitle$></a></H1>
</DIV>

<DIV id=content>

<Blogger>

<MainOrArchivePage>
<DIV class=post>
<H2 class=posttitle><a href="<$BlogItemPermalinkUrl$>"><$BlogItemTitle$></a></H2>
<P class=postmeta><BlogDateHeader><$BlogDateHeaderDate$></BlogDateHeader></P>
<script type="text/javascript"><!--
google_ad_client = "pub-3494699546242582";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-05-14: paparadit
google_ad_channel = "6799483681";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF9B39";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<DIV class=postentry>
<P><$BlogItemBody$></P>
</DIV>
<P class=postfeedback><a class=permalink href="<$BlogItemPermalinkUrl$>">Permalink</A> <BlogItemCommentsEnabled>
<span class="commentslink"><a href="<$BlogItemPermalinkURL$>#comments"><script type="text/javascript">var a = <$BlogItemCommentCount$>;
if(a == 0) {document.write('No comments yet.');}
else if(a == 1){document.write('1 comment so far');}
else {document.write(a+' comments');}</script>
</a> &nbsp;</span>
</BlogItemCommentsEnabled></span>
<span><a href="http://www.blogger.com/comment.g?blogID=31734637&postID=<$BlogItemNumber$>"& title="Post a Comment">Post a Comment</a></span>
<span class="commentslink"><a href="http://www.addthis.com/bookmark.php?pub=kokocamp&url=<$BlogItemPermalinkURL$>&title=<$BlogItemTitle$>" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://www.addme.com/images/button1-bm.gif" width="125" height="16" border="0" alt="AddThis Social Bookmark Button" /></a></span>

</P>
</DIV>
</MainOrArchivePage>


<ItemPage>
<DIV class=post>
<H2 class=posttitle><a href="<$BlogItemPermalinkUrl$>"><$BlogItemTitle$></a></H2>
<P class=postmeta><BlogDateHeader><$BlogDateHeaderDate$></BlogDateHeader></P>
<script type="text/javascript"><!--
google_ad_client = "pub-3494699546242582";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-05-14: paparadit
google_ad_channel = "6799483681";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF9B39";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<DIV class=postentry>
<P><$BlogItemBody$></P>
</DIV>
<P class=postfeedback><a class=permalink href="<$BlogItemPermalinkUrl$>">Permalink</A>
<a href="http://www.blogger.com/comment.g?blogID=31734637&postID=<$BlogItemNumber$>"& title="Post a Comment">Post a Comment</a>
<a href="http://www.addthis.com/bookmark.php?pub=kokocamp&url=<$BlogItemPermalinkURL$>&title=<$BlogItemTitle$>" title="Bookmark using any bookmark manager!" target="_blank"><img src="http://www.addme.com/images/button1-bm.gif" width="125" height="16" border="0" alt="AddThis Social Bookmark Button" /></a>
</P>
</DIV>

<BlogItemCommentsEnabled>

<h3 id="comments">
<BlogItemCommentsEnabled>
<span><a href="<$BlogItemPermalinkURL$>#comments"><script type="text/javascript">var a = <$BlogItemCommentCount$>;
if(a == 0) {document.write('No comments yet.');}
else if(a == 1){document.write('1 comment so far');}
else {document.write(a+' comments');}</script>
</a> &nbsp;</span>
</BlogItemCommentsEnabled>
</span>
</h3>

<ol id="commentlist">

<BlogItemComments>
<li class=alt id="comment">
<h3 class="commenttitle"><$BlogCommentAuthor$> said,</h3>
<p class="commentmeta"><$BlogCommentDateTime$></p>
<p><$BlogCommentBody$></p>
</li>
</BlogItemComments>

</ol>

<H2 id=postcomment>Leave a Comment</H2>
<a href="http://www.blogger.com/comment.g?blogID=31734637&postID=<$BlogItemNumber$>"& title="Post a Comment">Post a Comment</a>

</BlogItemCommentsEnabled>
</ItemPage>
</Blogger>

<P></P>
</DIV>


<div id="sidebar">
<$BlogMemberProfile$>
a member of<br>
<!--A href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=433434" target="_blank"><img src="http://counter.li.org/cgi-bin/certificate.cgi/433434" width="190"></a><br-->
<A href="http://l10n.kde.org/team-infos.php?teamcode=id" target="_blank"><IMG src="http://members.lycos.co.uk/pegadaian2004/gudang_gambar/kde_team.jpg" width="190" border="0" alt="Indonesian KDE team"></A>
<A href="http://sourceforge.net/people/viewprofile.php?user_id=1441208" target="_blank"><IMG src="http://sourceforge.net/sflogo.php?group_id=49784&type=5" width="190" border="0" alt="SourceForge.net Member"></A><p>
<h2>curiculum vitae - ku</h2>
<ul>
<!--li><a href="http://eko-wahyudiharto-cv.blogspot.com" target="_blank">Klik Di Sini</a></li-->
<li><a href="http://members.lycos.co.uk/kokoweb/MyCV.pdf" target="_blank">Klik di sini</a></li>
</ul>
<ul><p>
<h2>usaha sampingan</h2>
<ul>
<li><a href="http://www.kokocamp.co.nr/" target="_blank">kokoCamp</a></li>
<li><a href="http://www.duniapda.co.nr" target="_blank">duniaPDA</a></li>
<li><a href="http://www.skripsionline.co.nr" target="_blank">SkripsiOnline</a></li>
</ul><p>
<MainOrArchivePage>
<h2>postingan sebelumnya</h2>
<ul>
<BloggerPreviousItems>
<li><a href="<$BlogItemPermalinkURL$>"><$BlogPreviousItemTitle$></a></li>
</BloggerPreviousItems>
</ul>
</li><p>
<li id="archives">
<h2>arsip bulanan</h2>
<ul>
<BloggerArchives>
<li><a href='<$BlogArchiveURL$>'><$BlogArchiveName$></a></li>
</BloggerArchives>
</ul>
</li><p>
<h2>kirim komentar</h2>
<!-- BEGIN MYSHOUTBOX.COM CODE -->
<iframe src="http://450734.myshoutbox.com/" width="190" height="300" frameborder="0" allowTransparency="true"></iframe>
<!-- END MYSHOUTBOX.COM CODE--><p>
<h2>ping publikasi</h2>
<li class="pagenav">
<a target="_blank" href="http://www.blogsrater.com/blog-review-4650.html"><img title="Review my blog on BlogsRater.com!" border="0" src="http://out.blogsrater.com/blogs_rater.gif"></a>
<!-- Site Meter -->
<script type="text/javascript" src="http://s26.sitemeter.com/js/counter.js?site=s26paparadit">
</script>
<noscript>
<a href="http://s26.sitemeter.com/stats.asp?site=s26paparadit" target="_blank">
<img src="http://s26.sitemeter.com/meter.asp?site=s26paparadit" alt="Site Meter" border="0"/></a>
</noscript>
<!-- Copyright (c)2006 Site Meter -->
<a href="http://www.kampungblog.com/index.php?a=stats&u=kokocamp" target="_blank"><img src="http://www.kampungblog.com/button.php?u=kokocamp" alt="KampungBlog.com - Kumpulan Blog-Blog Indonesia" border="0" /></a>
<!-- /Top100 Bloggers -->
<a href="http://www.blogtopsites.com/sitedetails_28084.html" target="_blank"><img border="0" src="http://www.blogtopsites.com/tracker.php?do=in&id=28084" alt="Top Personal Blogs" /></a><br />
<a href="http://dir.blogflux.com/" target="_blank"><img src="http://members.lycos.co.uk/pegadaian2004/gudang_gambar/blog-koko.gif" alt="Blog Flux Directory" border="0"></a>
<a href="http://tools.blogflux.com/rsslinks/subscribe/http://paparadit.blogspot.com"><img src="http://tools.blogflux.com/rsslinks/button.gif" alt="" width="80" height="15" border="0"></a><p>
<!-- Top100 Bloggers -->
<a href="http://www.top100bloggers.com/index.php?do=votes&id=2261" target="_blank"><img border="0" src="http://www.top100bloggers.com/tracker.php?do=in&id=2261" alt="Top100 Bloggers" /></a>
<a href="http://www.blogarama.com/" target="_blank"><img src="http://www.blogarama.com/images/button.gif" border="0" alt="Blogarama - The Blog Directory"></a>
<br />
<!-- Indonesian TopBlogs -->
<a href="http://www.mbojo.com/index.php?do=votes&id=168"><img border="0" src="http://www.mbojo.com/tracker.php?do=in&id=168" alt="Indonesian TopBlogs" width="88" height="31" /></a>
<!-- /Indonesian TopBlogs -->
<a href='http://www.silktide.com/report.php?url=http%3A%2F%2Fpaparadit.blogspot.com'>
<img src='http://sitescore.silktide.com/index.php?siteScoreUrl=http%3A%2F%2Fpaparadit.blogspot.com'
alt='Silktide Sitescore for this website' style='border: 0' />
</a><br>
<a href="http://www.prchecker.info/" target="_blank">
<img src="http://www.prchecker.info/PR2_img.gif" alt="Check Pagerank" border="0" /></a>
<a href="http://www.aerocloud.com/topsites/"><img src="http://www.aerocloud.com/topsites/button.php?u=kokocamp" alt="AeroCloud Topsites List" border="0" /></a><br>
<a href="http://www.freedomain.co.nr/cheap_web_hosting.php" target="_blank"><img src="http://oamnama.ne.com.ru/ch.gif" alt="Cheapest Web Hosting & Free Domain" width="88" height="31" border="0" /></a>
<a href="http://feeds.feedburner.com/EkoWahyudihartoItsAboutFamilyWorks"><img src="http://feeds.feedburner.com/~fc/EkoWahyudihartoItsAboutFamilyWorks?bg=339999&amp;fg=FFFFFF&amp;anim=1" height="26" width="88" style="border:0" alt="" /></a>
<a href="http://blog-indonesia.com" target="_blank"><img src="http://blog-indonesia.com/rimg.php?blog=http://paparadit.blogspot.com&amp;color=4" border="0" alt="rank blog indonesia"/></a>
<p><h2>dimana aja?</h2>
<a href="http://clustrmaps.com/counter/maps.php?url=http://paparadit.blogspot.com" id="clustrMapsLink"><img src="http://clustrmaps.com/counter/index2.php?url=http://paparadit.blogspot.com" border=1 alt="Locations of visitors to this page"onError="this.onError=null; this.src='http://www.meetomatic.com/images/clustrmaps-back-soon.jpg'; document.getElementById('clustrMapsLink').href='http://clustrmaps.com/'">
</a><br>
<!-- BEGIN Webmasters Site Counter CODE BY Bpath -->
<a href="#">Visitor</a></font><br>
<noscript><a href="http://www.bpath.com">Visitor</a></noscript>
<a href="http://counter.webmasters.bpath.com/statc.dll/M=13978&S=wm&Counter=1">
<img src="http://counter.webmasters.bpath.com/count.dll?M=13978&S=wm&Counter=1" height="20" width="101" alt="Site Counter" border="0" ismap></a>
<!-- END Site Counter CODE -->
<div style="width=160px;height:410px"><!-- START MAPKIT -->
<script type="text/javascript" src="http://www.platial.com/mapkit/load?v=3&map=26023&member=visitor&key=1443b9f7a47ed90696a59f4c5c655d90fd7a2aea&host=paparadit.blogger.com"></script>
<script type="text/javascript">MapKit.display();</script>
<!-- END MAPKIT -->
</div>
<script type="text/javascript" src="http://embed.technorati.com/embed/dk3s94datd.js"></script>
<div style="border: 1px solid #cccccc; background-color: #FFFFFF; width: 115px; text-align: center; padding: 5px 5px 10px 5px;"><p style="margin: 0"><img src="http://static.flickr.com/23/25822676_789bf55448_t.jpg" style="border:0;"><br /> <span style="font-size: 11px;font-color: #FF9B39"><a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/worth.php?url=paparadit.blogspot.com" target="_blank">Harga blog ini?</a></span><br /><span style="font-size: 10px;"></span></p></div>
<p><h2>lain-lain</h2><br>
<A HREF="ymsgr:sendIM?koko_camp">
<IMG SRC="http://www.funnyweb.dk:8080/yahoo/koko_camp/
onurl=www.funnyweb.dk/osi/iconset5/yahooonline.gif/
offurl=www.funnyweb.dk/osi/iconset5/yahoooffline.gif/
unknownurl=www.funnyweb.dk/osi/iconset5/yahoounknown.gif"
align="absmiddle" border="0" width="22" height="22"
alt="Yahoo Online Status Indicator"
onerror="this.onerror=null;
this.src='http://www.funnyweb.dk/osi/iconset5/yahoounknown.gif';"> Yahoo Messenger!</A>
<div style="width:150px;"><a href="http://www.friendster.com/login.php?aff_id=32012679&link_id=3&count=click" target="_blank" style="color:#FF9B39; font-family:verdana,arial,helvetica,sans-serif; font-size:10px" onmouseover="this.style.color='#9BBB38'" onmouseout="this.style.color='#FF9B39'"><img src="http://images.friendster.com/images/friendster_logo1.gif" width="100" border="0" alt="Add me as a friend at Friendster"><br>Eko Wahyudiharto</a></div><img src="http://www.friendster.com/affiliate.php?aff_id=32012679&link_id=3&count=serve" height="1" width="1" border="0">
<!-- SiteSearch Google -->
<form method="get" action="http://www.google.co.id/custom" target="google_window">
<table border="0" bgcolor="#FFFFFF">
<tr>
<td nowrap="nowrap" valign="top" align="left" height="32"> <strong>Google Search</strong><br/>
<input type="hidden" name="domains" value="paparadit.blogspot.com"></input>
<input type="text" name="q" size="18" maxlength="255" value="Eko Wahyudiharto"></input>
<input type="submit" name="sa" value="Cari">
</input>
</td></tr>
<tr>
<td nowrap="nowrap">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" checked="checked"></input>
<font size="-1" color="#000000">Web</font>
</td>
<td>
<input type="radio" name="sitesearch" value="paparadit.blogspot.com"></input>
<font size="-1" color="#000000">paparadit.co.nr</font></td>
</tr>
</table>
<input type="hidden" name="client" value="pub-3494699546242582"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input>
<input type="hidden" name="hl" value="en"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google -->

<div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'>
<script type="text/javascript"><!--
google_ad_client="ca-pub-3494699546242582";
google_ad_width=200;
google_ad_height=90;
google_ad_format="200x90_0ads_al";
google_color_border="FFFFFF";
google_color_bg="FFFFFF";
google_color_link="B96F17";
google_color_url="B96F17";
google_color_text="B96F17";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h2>link eksternal</h2>
<script type="text/javascript"><!--
google_ad_client = "pub-3494699546242582";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
//2007-05-14: paparadit
google_ad_channel = "6799483681";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF9B39";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</MainOrArchivePage>


<ItemPage>
<li class="pagenav">
<h2>postingan sebelumnya</h2>
<ul>
<BloggerPreviousItems>
<li><a href="<$BlogItemPermalinkURL$>"><$BlogPreviousItemTitle$></a></li>
</BloggerPreviousItems>
</ul>
</li><p>
<li id="archives">
<h2>arsip bulanan</h2>
<ul>
<BloggerArchives>
<li><a href='<$BlogArchiveURL$>'><$BlogArchiveName$></a></li>
</BloggerArchives>
</ul>
</li><p>
<h2>kirim komentar</h2>
<!-- BEGIN MYSHOUTBOX.COM CODE -->
<iframe src="http://450734.myshoutbox.com/" width="190" height="300" frameborder="0" allowTransparency="true"></iframe>
<!-- END MYSHOUTBOX.COM CODE--><p>
<h2>ping publikasi</h2>
<li class="pagenav">
<a target="_blank" href="http://www.blogsrater.com/blog-review-4650.html"><img title="Review my blog on BlogsRater.com!" border="0" src="http://out.blogsrater.com/blogs_rater.gif"></a>
<!-- Site Meter -->
<script type="text/javascript" src="http://s26.sitemeter.com/js/counter.js?site=s26paparadit">
</script>
<noscript>
<a href="http://s26.sitemeter.com/stats.asp?site=s26paparadit" target="_blank">
<img src="http://s26.sitemeter.com/meter.asp?site=s26paparadit" alt="Site Meter" border="0"/></a>
</noscript>
<!-- Copyright (c)2006 Site Meter -->
<a href="http://www.kampungblog.com/index.php?a=stats&u=kokocamp" target="_blank"><img src="http://www.kampungblog.com/button.php?u=kokocamp" alt="KampungBlog.com - Kumpulan Blog-Blog Indonesia" border="0" /></a>
<!-- /Top100 Bloggers -->
<a href="http://www.blogtopsites.com/sitedetails_28084.html" target="_blank"><img border="0" src="http://www.blogtopsites.com/tracker.php?do=in&id=28084" alt="Top Personal Blogs" /></a><br />
<a href="http://dir.blogflux.com/" target="_blank"><img src="http://members.lycos.co.uk/pegadaian2004/gudang_gambar/blog-koko.gif" alt="Blog Flux Directory" border="0"></a>
<a href="http://tools.blogflux.com/rsslinks/subscribe/http://paparadit.blogspot.com"><img src="http://tools.blogflux.com/rsslinks/button.gif" alt="" width="80" height="15" border="0"></a><p>
<!-- Top100 Bloggers -->
<a href="http://www.top100bloggers.com/index.php?do=votes&id=2261" target="_blank"><img border="0" src="http://www.top100bloggers.com/tracker.php?do=in&id=2261" alt="Top100 Bloggers" /></a>
<a href="http://www.blogarama.com/" target="_blank"><img src="http://www.blogarama.com/images/button.gif" border="0" alt="Blogarama - The Blog Directory"></a>
<br />
<!-- Indonesian TopBlogs -->
<a href="http://www.mbojo.com/index.php?do=votes&id=168"><img border="0" src="http://www.mbojo.com/tracker.php?do=in&id=168" alt="Indonesian TopBlogs" width="88" height="31" /></a>
<!-- /Indonesian TopBlogs -->
<a href='http://www.silktide.com/report.php?url=http%3A%2F%2Fpaparadit.blogspot.com'>
<img src='http://sitescore.silktide.com/index.php?siteScoreUrl=http%3A%2F%2Fpaparadit.blogspot.com'
alt='Silktide Sitescore for this website' style='border: 0' />
</a><br>
<a href="http://www.prchecker.info/" target="_blank">
<img src="http://www.prchecker.info/PR2_img.gif" alt="Check Pagerank" border="0" /></a>
<a href="http://www.aerocloud.com/topsites/"><img src="http://www.aerocloud.com/topsites/button.php?u=kokocamp" alt="AeroCloud Topsites List" border="0" /></a><br>
<a href="http://www.freedomain.co.nr/cheap_web_hosting.php" target="_blank"><img src="http://oamnama.ne.com.ru/ch.gif" alt="Cheapest Web Hosting & Free Domain" width="88" height="31" border="0" /></a>
<a href="http://feeds.feedburner.com/EkoWahyudihartoItsAboutFamilyWorks"><img src="http://feeds.feedburner.com/~fc/EkoWahyudihartoItsAboutFamilyWorks?bg=339999&amp;fg=FFFFFF&amp;anim=1" height="26" width="88" style="border:0" alt="" /></a>
<a href="http://blog-indonesia.com" target="_blank"><img src="http://blog-indonesia.com/rimg.php?blog=http://paparadit.blogspot.com&amp;color=4" border="0" alt="rank blog indonesia"/></a>
<p><h2>dimana aja?</h2>
<a href="http://clustrmaps.com/counter/maps.php?url=http://paparadit.blogspot.com" id="clustrMapsLink"><img src="http://clustrmaps.com/counter/index2.php?url=http://paparadit.blogspot.com" border=1 alt="Locations of visitors to this page"onError="this.onError=null; this.src='http://www.meetomatic.com/images/clustrmaps-back-soon.jpg'; document.getElementById('clustrMapsLink').href='http://clustrmaps.com/'">
</a><br>
<!-- BEGIN Webmasters Site Counter CODE BY Bpath -->
<a href="#">Visitor</a></font><br>
<noscript><a href="http://www.bpath.com">Visitor</a></noscript>
<a href="http://counter.webmasters.bpath.com/statc.dll/M=13978&S=wm&Counter=1">
<img src="http://counter.webmasters.bpath.com/count.dll?M=13978&S=wm&Counter=1" height="20" width="101" alt="Site Counter" border="0" ismap></a>
<!-- END Site Counter CODE -->
<div style="width=160px;height:410px"><!-- START MAPKIT -->
<script type="text/javascript" src="http://www.platial.com/mapkit/load?v=3&map=26023&member=visitor&key=1443b9f7a47ed90696a59f4c5c655d90fd7a2aea&host=paparadit.blogger.com"></script>
<script type="text/javascript">MapKit.display();</script>
<!-- END MAPKIT -->
</div>
<script type="text/javascript" src="http://embed.technorati.com/embed/dk3s94datd.js"></script>
<div style="border: 1px solid #cccccc; background-color: #FFFFFF; width: 115px; text-align: center; padding: 5px 5px 10px 5px;"><p style="margin: 0"><img src="http://static.flickr.com/23/25822676_789bf55448_t.jpg" style="border:0;"><br /> <span style="font-size: 11px;font-color: #FF9B39"><a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/worth.php?url=paparadit.blogspot.com" target="_blank">Harga blog ini?</a></span><br /><span style="font-size: 10px;"></span></p></div>
<p><h2>lain-lain</h2><br>
<A HREF="ymsgr:sendIM?koko_camp">
<IMG SRC="http://www.funnyweb.dk:8080/yahoo/koko_camp/
onurl=www.funnyweb.dk/osi/iconset5/yahooonline.gif/
offurl=www.funnyweb.dk/osi/iconset5/yahoooffline.gif/
unknownurl=www.funnyweb.dk/osi/iconset5/yahoounknown.gif"
align="absmiddle" border="0" width="22" height="22"
alt="Yahoo Online Status Indicator"
onerror="this.onerror=null;
this.src='http://www.funnyweb.dk/osi/iconset5/yahoounknown.gif';"> Yahoo Messenger!</A>
<div style="width:150px;"><a href="http://www.friendster.com/login.php?aff_id=32012679&link_id=3&count=click" target="_blank" style="color:#FF9B39; font-family:verdana,arial,helvetica,sans-serif; font-size:10px" onmouseover="this.style.color='#9BBB38'" onmouseout="this.style.color='#FF9B39'"><img src="http://images.friendster.com/images/friendster_logo1.gif" width="100" border="0" alt="Add me as a friend at Friendster"><br>Eko Wahyudiharto</a></div><img src="http://www.friendster.com/affiliate.php?aff_id=32012679&link_id=3&count=serve" height="1" width="1" border="0">
<!-- SiteSearch Google -->
<form method="get" action="http://www.google.co.id/custom" target="google_window">
<table border="0" bgcolor="#FFFFFF">
<tr>
<td nowrap="nowrap" valign="top" align="left" height="32"> <strong>Google Search</strong><br/>
<input type="hidden" name="domains" value="paparadit.blogspot.com"></input>
<input type="text" name="q" size="18" maxlength="255" value="Eko Wahyudiharto"></input>
<input type="submit" name="sa" value="Cari">
</input>
</td></tr>
<tr>
<td nowrap="nowrap">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" checked="checked"></input>
<font size="-1" color="#000000">Web</font>
</td>
<td>
<input type="radio" name="sitesearch" value="paparadit.blogspot.com"></input>
<font size="-1" color="#000000">paparadit.co.nr</font></td>
</tr>
</table>
<input type="hidden" name="client" value="pub-3494699546242582"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input>
<input type="hidden" name="hl" value="en"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google -->

<div class='adsense' style='text-align:center; padding: 0px 3px 0.5em 3px;'>
<script type="text/javascript"><!--
google_ad_client="ca-pub-3494699546242582";
google_ad_width=200;
google_ad_height=90;
google_ad_format="200x90_0ads_al";
google_color_border="FFFFFF";
google_color_bg="FFFFFF";
google_color_link="B96F17";
google_color_url="B96F17";
google_color_text="B96F17";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h2>link eksternal</h2>
<script type="text/javascript"><!--
google_ad_client = "pub-3494699546242582";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
//2007-05-14: paparadit
google_ad_channel = "6799483681";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "FF9B39";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</li>
</ItemPage>
</ul>
</div>

<DIV id=footer>
<P><A href="<$BlogURL$>"><$BlogTitle$></A>
</P>
</DIV>

</DIV>

</BODY>
<!--WEBBOT bot="HTMLMarkup" startspan ALT="Site Meter" -->
<script type="text/javascript" src="http://s26.sitemeter.com/js/counter.js?site=s26paparadit">
</script>
<!--WEBBOT bot="HTMLMarkup" Endspan --></body>
</HTML>

From: http://centricle.com/tools/html-entities/

Labels:

  Post a Comment