全球 IP 地址

类别: Drafts. 阅读(40). 评论(0) »

让 Putty 保存密码,自动登陆的三种方法

Putty 基本是我在紧急时候用来登陆 Linux/Unix 终端的不二之选,因其小,开源,界面也非常实用。可是当你要在私有的机器上,经常性的要登陆很多机器的时候就觉得烦琐了,不光打开一堆的窗口,还要一遍一遍的输入用户名和密码。当然登陆用户名是可以保存的,我也是最近才注意到这一点的。Putty 不愿去保存密码是出于安全考虑,相信在多数时候确实是非常必要的。

于是我选择了 SecureCRT, 它能保存密码,而且是多 Tab 的,把 Session 改成 VT100 Linux 模式,用着一直很顺溜。然而今天却发现在 SecureCRT 终端中使用 vim 不能高亮显示语法,试过多种设置,在 Putty 中却行的,就这样又重新回到了 Putty 的怀抱。要相处得好,必须更深层次的挖掘它的潜力,其实它也可让你实现自动登陆、甚至是多 Tab 的方式。方法有三: 阅读全文 >>

类别: Linux/Unix. 标签: , . 阅读(9,334). 评论(2) »

PHP 图版验证码,我选择 kcaptcha

不管是防小人也好,还是防君子手误也罢,很多地方都需要用到图片验证码来加强安全性。在 PHP 站点上我选择了 Captcha,用起来很简单的。

Captcha 从 http://www.captcha.ru/en/kcaptcha/ 下站,当前版本是 KCAPTCHA 1.2.6

下载后,解压后,可以看到它自己带了例子,就是 index.php 用来产生图片,form_example.php 中引入了图片, 只是 <img src="./?<?php echo session_name()?>=<?php echo session_id()?>"> 的写法有点不好理解,要是写成 <img src="index.php/?<?php echo session_name()?>=<?php echo session_id()?>"> 就好看多了,至少知道 index.php 的内容是个图片。 阅读全文 >>

类别: PHP. 标签: , . 阅读(199). 评论(0) »

aspnetcontroladapters 的用法

类别: Drafts. 阅读(10). 评论(0) »

asp:Menu 在 IE8/FireFox 下不正常显示子菜单的解决办法

在 Asp.Net 里用 Menu 控件,如果页面背景白色的,用 IE8 浏览感觉是无法展开子菜单。其实还是有展开的,只是一个白框,把页面背景设置了其他颜色就能看到。Menu 控件在 IE7 下没问题,FireFox 下也不行,反而 Opera 能正常显示。IE8 在趋于标准化的时候,显然是 Menu 控件不符合标准。

有三个解决办法,请参考:ASP.NET Menu and IE8 rendering white issue

1. 重写 z-index 属性:标准模式下 z-index 默认为 auto。 阅读全文 >>

类别: .Net. 标签: , . 阅读(2,030). 评论(1) »

pdf 中抽取文本的方案

类别: Drafts. 阅读(24). 评论(0) »

XLST 与 Namespace, for-each 和 apply-templates

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:msfn="http://www.footnotedpro.com/rss" exclude-result-prefixes="msxsl msfn">

    <msxsl:script implements-prefix="msfn" language="C#">
    <![CDATA[
        public string Now()
        {
           System.Globalization.CultureInfo usCulture = new System.Globalization.CultureInfo("en-US");
           return DateTime.Now.ToString();
        }
    ]]>
    </msxsl:script>
   
    <xsl:output method="xml" indent="yes"/>
    <xsl:param name="rows" select="5"/>
    <xsl:param name="linkPrefix">http://www.footnotedpro.com/assets/documents/protected/DL.aspx?fn=</xsl:param>
   
    <xsl:template match="/rss/channel">
        <rss version='2.0'
            xmlns:content='http://purl.org/rss/1.0/modules/content/'
            xmlns:dc='http://purl.org/dc/elements/1.1/'
            xmlns:atom='http://www.w3.org/2005/Atom'
            xmlns:sy='http://purl.org/rss/1.0/modules/syndication/'>
            <channel>
                <title>footnotedpro.com &#187; FootnotedPro</title>
                <atom:link href='http://www.footnotedpro.com/rss' rel='self' type='application/rss+xml' />
                <link>http://www.footnotedpro.com</link>
                <description>Michelle Leder&#039;s guide to what&#039;s hiding in SEC filings</description>
                <lastBuildDate>
                    <xsl:value-of select='msfn:Now()'/>
                </lastBuildDate>
                <generator>http://www.footnotedpro.com</generator>
                <language>en</language>
                <sy:updatePeriod>hourly</sy:updatePeriod>
                <sy:updateFrequency>1</sy:updateFrequency>
                <xsl:for-each select="item">
                    <xsl:if test="position() &lt;= $rows">
                        <item>
                            <title>
                                <xsl:value-of select="title"/>
                            </title>
                            <link>
                                <xsl:value-of select="concat($linkPrefix,PDFfile)"/>
                            </link>
                            <pubDate>
                                <xsl:value-of select="pubDate"/>
                            </pubDate>
                            <dc:creator>Michelle Leder</dc:creator>
                            <description>
                                <xsl:value-of select="description"/>
                            </description>
                            <content:encoded>
                                <xsl:value-of select="content"/>
                            </content:encoded>
                        </item>
                    </xsl:if>                     
                </xsl:for-each>
            </channel>
        </rss>
    </xsl:template>
</xsl:stylesheet>  

变为

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:msfn="http://www.footnotedpro.com/rss" exclude-result-prefixes="msxsl msfn"
    xmlns:content='http://purl.org/rss/1.0/modules/content/'
    xmlns:dc='http://purl.org/dc/elements/1.1/'
    xmlns:atom='http://www.w3.org/2005/Atom'
    xmlns:sy='http://purl.org/rss/1.0/modules/syndication/'>

    <msxsl:script implements-prefix="msfn" language="C#">
    <![CDATA[
        public string Now()
        {
           System.Globalization.CultureInfo usCulture = new System.Globalization.CultureInfo("en-US");
           return DateTime.Now.ToString();
        }
    ]]>
    </msxsl:script>
   
    <xsl:output method="xml" indent="yes"/>
    <xsl:param name="rows" select="5"/>
    <xsl:param name="linkPrefix">http://www.footnotedpro.com/assets/documents/protected/DL.aspx?fn=</xsl:param>
   
    <xsl:template match="/rss/channel">
        <rss version='2.0'>
            <channel>
                <title>footnotedpro.com &#187; FootnotedPro</title>
                <atom:link href='http://www.footnotedpro.com/rss' rel='self' type='application/rss+xml' />
                <link>http://www.footnotedpro.com</link>
                <description>Michelle Leder&#039;s guide to what&#039;s hiding in SEC filings</description>
                <lastBuildDate>
                    <xsl:value-of select='msfn:Now()'/>
                </lastBuildDate>
                <generator>http://www.footnotedpro.com</generator>
                <language>en</language>
                <sy:updatePeriod>hourly</sy:updatePeriod>
                <sy:updateFrequency>1</sy:updateFrequency>
                <xsl:apply-templates select='item'/>
            </channel>
        </rss>
    </xsl:template>
    <xsl:template match="item">
        <xsl:if test="position() &lt;= $rows">
            <item>
                <title>
                    <xsl:value-of select="title"/>
                </title>
                <link>
                    <xsl:value-of select="concat($linkPrefix,PDFfile)"/>
                </link>
                <pubDate>
                    <xsl:value-of select="pubDate"/>
                </pubDate>
                <dc:creator>Michelle Leder</dc:creator>
                <description>
                    <xsl:value-of select="description"/>
                </description>
                <content:encoded>
                    <xsl:value-of select="content"/>
                </content:encoded>
            </item>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>  

类别: Uncategorized. 阅读(45). 评论(0) »

Linq to XML 用一句话读出 RSS 文章列表

在页面的 Page_Load() 方法中写上这句话就行了:

效果是:  阅读全文 >>

类别: .Net. 标签: , , , . 阅读(23). 评论(0) »

Asp.net 使用 System.Web.Routing 来实现 UrlRewrite

不管是隐藏信息还是搜索引擎友好,UrlRewrite 还是很有用的。我们可以在应用服务层实现 UrlRewrite,比如 Apache 或 IIS;也可以在应用程序层实现 UrlRewrite。Java 有很好的组件实现,.Net 中可以用 UrlRewriter.NET 来实现。看 Asp.Net MVC 引入 Routing 的概念,不过幸运的是我们不必搞个 MVC 项目也能享受到 Routing,那就是 .Net 3.5 已经为 MVC 做好准备的 System.Web.Routing。

差点忘了轻带一下什么是 UrlRewrite,比如说: 阅读全文 >>

类别: .Net. 标签: , , . 阅读(402). 评论(0) »

XSLT 中使用参数和变量以及 C# 向 XSLT 传入参数

有时候我们需要向 XSLT 中设定或传入参数或变量,比如用 XSLT 从 RSS http://www.blogjava.net/Unmi/rss 取出前面若干条记录,那么这个记录数就应该作声明为参数。

http://www.blogjava.net/Unmi/rss 的文档结构如下:

<rss>
    <channel>
        <item>
        <title>写第一个 WordPress 插件程序</title>
        <link>http://www.blogjava.net/Unmi/archive/2010/04/27/319398.html</link>
        <dc:creator>隔叶黄莺</dc:creator>
        <author>隔叶黄莺</author>
        <pubDate>Mon, 26 Apr 2010 17:06:00 GMT</pubDate>
         ..............................................
        </item>
        <item>
         .................................................

基于上面的需求,假定要前 5 条记录,XSLT 可以写成如下(c:\\Unmi_Rss_List.xslt): 阅读全文 >>

类别: .Net. 标签: , . 阅读(719). 评论(0) »
Page 1 of 212