Archive for the ‘ Coding ’ Category

如何防止自己的网站被别人以 iframe 盖台嵌入 (与反制办法)

“iframe (内置框架)”是用来在网页中的特定位置嵌入另一个网页。目前 Facebook、Google+、Twitter...等用来在网页上显示社群内容的社群元件,几乎都是以 iframe 实作出来的。

原本框架是一种很好的应用,但如果是自己辛苦制作的网页被别人的网站以 iframe 嵌入,因而出现在别人的网站里,成为别人网站的一部份!!这种感觉就像是自己的心血被别人整碗捧走一样!!

两个解决方法

方法 1

于网页的原始码加入以下 Script:

<script type="text/javascript">
if( top.location != document.location ){
	top.location.href = document.location.href;
}
</script>

以上的 Script 会检查浏览器最上层视窗的网址是否与目前网页的网址一致,如果不一致,则把最上层视窗的网址改为目前网页的网址,就酱。

方法 2 (反制办法)

于网页的原始码加入以下 Script:

<script type="text/javascript">
if( top.location != document.location ){
	document.write("<h1 style='color:#FF0000'>未经授权嵌入别人的网页是可耻的行为!!</h1>(<a href='"+document.location+"' target='_blank'>原站网址</a>)");
}
</script>

以上的 Script 会检查浏览器最上层视窗的网址是否与目前网页的网址一致,如果不一致,就显示:

未经授权嵌入别人的网页是可耻的行为!!
(原站网址)

我比较不喜欢与人家互呛,所以我通常是用“方法 1”啦!

简易网页下拉选单,可支援 MouseOver 与 Click 事件

在网页界已经有很多的“下拉选单”程式了,不过似乎都搞得太过复杂或太华丽了。

其实下拉选单的原理很简单,一开始只是先让“子选单”隐藏,当鼠标移至“主选单”时再让子选单显示。因此,只要能控制网页元件的 display 样式属性就已经成功一半了。

因为本人喜欢重新发明轮子,所以也写了一个简易的网页下拉选单的程式,可以做为初学者入门的参考。

在范例的原始码中,我尽量让程式码看起来浅显易懂,并且只用 JavaScript,不使用 jQuery 或其它 Framework。我也尽量多写一些注解,希望 JavaScript 的初学者能看得懂。

Read more

中文的 jQuery 教学资源

如果想学 jQuery 的话,可以从下列的教学资源开始,读者应具有 HTML、JavaScript、CSS 的基础。

网站

上官林杰 - ericsk (2007)

  1. jQuery 学习心得笔记 (1) – 前言
  2. jQuery 学习心得笔记 (2) – 怎么使用 jQuery 来写 JavaScript
  3. jQuery 学习心得笔记 (3) – jQuery 的事件(Event)处理
  4. jQuery 学习心得笔记 (4) – Ajax (上)
  5. jQuery 学习心得笔记 (5) – Ajax (下)
  6. jQuery 学习笔记 (6) - 操作 DOM 物件
  7. jQuery 学习笔记 (7) - 扩充 jQuery

以上这几篇是我的 jQuery 启蒙文章。
Read more

[转载]PHP 处理 UTF-8

转载自: PHP 最佳实践方法


此章节由 Alex Cabal 撰写,节录自 PHP Best Practices 并作为我们 UTF-8 建议的基础。

这不是开玩笑的,请小心与细心并前后一致地处理它。

PHP 至今在底层仍未支援 Unicode。而有许多方式可以确认 UTF-8 字串的处理是正确的,但通常不容易,还需要从上而下翻遍程序所有阶层,从 HTML、SQL 到 PHP。我们将会聚焦在简短的实践总结。

Read more

网站套件的“设定档”安全性问题

这是我在 Facebook 上看到的安全资讯,我觉得很重要,也适用在任何的网站套件上。

以 WordPress 为例,首先,请查看你的 WordPress 目录下是否有这些档案:

  • wp-config.php~
  • wp-config.php.2
  • wp-config.php.bak
  • wp-config.php.old
  • wp-config.php.ori
  • wp-config.php.orig
  • wp-config.php.original
  • wp-config.php.sav
  • wp-config.php.save
  • wp-config.php.swp
  • wp-config_php
  • wp-config.php_2
  • wp-config.php_bak
  • wp-config.php_old
  • wp-config.php_ori
  • wp-config.php_orig
  • wp-config.php_original
  • wp-config.php_sav
  • wp-config.php_save
  • wp-config.php_swp

Read more

Windows 上功能最齐全的 Perl 整合开发环境: DWIM Perl

功欲善其事,必先利其器!!

如果你在 Windows 上找不到容易上手的 Perl 整合开发环境(IDE),那你可以试试“DWIM Perl”。

“DWIM Perl”主要是由“Padre”、“StrawberryPerl”及一些常用的 CPAN 模组所组成,“DWIM”是“Do What I Mean”的缩写,因此可以看得到它的用心,其中:

  • Padre”是一套 Perl 的程式编辑器,代表的图像就是右边那只美丽的蝴蝶。
  • StrawberryPerl”与“ActivePerl”一样,是一套运作在 Windows 上的 Perl 直译器,但 StrawberryPerl 是 OpenSource,并且本身就已经集成了很多常用的 CPAN 模组,StrawberryPerl 的代表图像就是一颗娇艳欲滴、但有点曝光过度的大草莓

档案下载: DWIM Perl

安装“DWIM Perl”时请安装在你的 D 糟,安装好之后只要执行“Padre, the Perl IDE”就会进入它的整合开发环境。

Read more

MySQL 的字段名称可以用空白字符

今天被一个 Bug 困住好久,可能是之前自己的手误造成!!

原因就是...MySQL 的字段名称竟然可以使用空白字符,而且还可以放在第一个字符,我真是学艺不精!!

经测试,连资料表的名称也可以使用空白字符:

CREATE TABLE ` test table` (
` field 1` TINYINT NOT NULL ,
PRIMARY KEY ( ` field 1` )
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;

上面看得出我在资料表与字段的名称都用了空白字符吗? 而且还是放在第一个字符!

我想,如果想要陷害别人绝对可以用 MySQL 这一招。

至于处理空白字段名称的问题,你可以:

  1. 将错误的字段名称改掉。
  2. 存取资料表与字段时,在前后加上 ` `,例如: ` test table`.` field 1`。

 

[转载]21 天教你学会 C++

转载自: 酷壳 - 21 天教你学会 C++


下面是一个《Teach Yourself C++ in 21 Days》的流程图, 请各位程式设计师同仁认真领会。如果有必要, 你可以查看这个图书以作参照: http: //www.china-pub.com/27043

看完上面这个图片, 我在想, 我学习 C++ 有 12 年了, 好像 C++ 也没有学得特别懂, 看到 STL 和泛型, 还是很头大。不过, 我应该去考虑研究量子物理和生物化学, 这样, 我才能重返 98 年杀掉还在大学的我, 然后达到 21 天搞定 C++ 的目标。另外, 得要特别提醒刚刚开始学习 C++ 的朋友, 第 21 天的时候, 小心被人杀害。呵呵。

Read more

Facebook 相关网址

一般

  1. 建立粉丝页: http://www.facebook.com/pages/create.php
  2. 设定用户名称: http://www.facebook.com/username

SDK

  1. 开发人员: http://www.facebook.com/developers/
  2. 开发说明文件: http://developers.facebook.com/docs/

MySQL 处理字符编码的一些心得

因为我在写程式所用的到的 MySQL,同时有 3.x 版及 5.x 版要处理,所以对 MySQL 的字符编码问题需要特别做研究,研究了一阵子之后,终于有了一些初步的心得,列出旧版及新版的 MySQL 做为比较:
Read more

return top