@JunQiu
2018-09-18T21:27:45.000000Z
字数 3547
阅读 1272
summary_2018/08
database
other
## Example:C#
// normal SQL
String sql = "SELECT id, first_name, last_name, phone, birth_date, sex FROM persons WHERE id = 10";
Result res = db.execSql(sql);
String name = res[0]["FIRST_NAME"];
// use ORM API
Person p = repository.GetPerson(10);
String name = p.getFirstName();
// 或者作为静态方法提供
Person p = Person.Get(10);
Comparison with traditional data access techniques
Another approach is to use an object-oriented database management system (OODBMS/面向对象数据库) or document-oriented databases
## The list of unsafe ports:
### Chrome:
1, // tcpmux
7, // echo
9, // discard
11, // systat
13, // daytime
15, // netstat
17, // qotd
19, // chargen
20, // ftp data
21, // ftp access
22, // ssh
23, // telnet
25, // smtp
37, // time
42, // name
43, // nicname
53, // domain
77, // priv-rjs
79, // finger
87, // ttylink
95, // supdup
101, // hostriame
102, // iso-tsap
103, // gppitnp
104, // acr-nema
109, // pop2
110, // pop3
111, // sunrpc
113, // auth
115, // sftp
117, // uucp-path
119, // nntp
123, // NTP
135, // loc-srv /epmap
139, // netbios
143, // imap2
179, // BGP
389, // ldap
465, // smtp+ssl
512, // print / exec
513, // login
514, // shell
515, // printer
526, // tempo
530, // courier
531, // chat
532, // netnews
540, // uucp
556, // remotefs
563, // nntp+ssl
587, // stmp?
601, // ??
636, // ldap+ssl
993, // ldap+ssl
995, // pop3+ssl
2049, // nfs
3659, // apple-sasl / PasswordServer
4045, // lockd
6000, // X11
6665, // Alternate IRC [Apple addition]
6666, // Alternate IRC [Apple addition]
6667, // Standard IRC [Apple addition]
6668, // Alternate IRC [Apple addition]
6669, // Alternate IRC [Apple addition]
### Firefox:
1 tcpmux
7 echo
9 discard
11 systat
13 daytime
15 netstat
17 qotd
19 chargen
20 ftp data
21 ftp control
22 ssh
23 telnet
25 smtp
37 time
42 name
43 nicname
53 domain
77 priv-rjs
79 finger
87 ttylink
95 supdup
101 hostriame
102 iso-tsap
103 gppitnp
104 acr-nema
109 POP2
110 POP3
111 sunrpc
113 auth
115 sftp
117 uucp-path
119 NNTP
123 NTP
135 loc-srv / epmap
139 netbios
143 IMAP2
179 BGP
389 LDAP
465 SMTP+SSL
512 print / exec
513 login
514 shell
515 printer
526 tempo
530 courier
531 chat
532 netnews
540 uucp
556 remotefs
563 NNTP+SSL
587 submission
601 syslog
636 LDAP+SSL
993 IMAP+SSL
995 POP3+SSL
2049 nfs
4045 lockd
6000 X11
其它的可以去查查文档。。。
## Example:如果接受HTTP请求
// STMP会话:
S:220 smtp.example.com ESMTP Postfix
C:HELO relay.example.org
S:250 Hello relay.example.org,很高兴见到你
C:邮件来自:
S:250好的
C:RCPT TO:
S:250好的
C:RCPT TO:
S:250好的
C:数据
S:354结束数据 。
C:来自:“鲍勃示例”
C:要:“爱丽丝示例”
C:抄送:theboss@example.com
C:日期:星期二,2008年1月15日16:02:43 -0500
C:主题:测试消息
C:
C:你好,爱丽丝。
C:这是一条测试消息,消息正文中有5个标题字段和4行。
C:你的朋友,
C:鲍勃
C: 。
S:250好:排队为12345
C:退出
S:221再见
// 当我们对SMTP服务器发起HTTP请求时
C:GET / HTTP / 1.1
S:500 5.5.1命令无法识别:“GET / HTTP / 1.1”
C:主持人:www.example.com
S:500 5.5.1命令无法识别:“主持人:www.example.com”
C:
S:500 5.5.1命令无法识别:“”
显然,我们被拒接服务,但确实接受了我们的请求,包括我们传递的内容,如果我们使用multipart/form-data格式,可以构建上述SMTP会话,SMTP服务器将忽略所有HTTP协议,如上例所示,包括方法和标题,以及multipart/form-data标题内容,一旦它获得了我们的字段,那将有我们的HELO,MAIL,FROM,RCPT命令,并开始处理它们。