本文目录一览:
- 1、大家都知道高级程序员很吃香,那么高级程序员和黑客到底谁更厉害?
- 2、程序员,黑客和开发者之间的区别
- 3、比较厉害的外国前端程序员有哪些?
- 4、遭遇黑客,程序员,前端人员获取个人信息泄密问题你看该怎么解决?
大家都知道高级程序员很吃香,那么高级程序员和黑客到底谁更厉害?
非从业人员对于程序员和黑客的外在形象就存在着不一样的认知,因为电视电影和 *** 上的段子,普通的程序员一般都是有才能却一点不风趣的男性,常年一件格子衬衣,几根稀疏的头发,虽然赚的钱不少,却不会花钱装扮自己;而黑客的形象就完全是另一种,他们很神秘,可能我们身边随便一个人在暗地里都可以是黑客,黑客还喜欢穿黑衣服,带黑色的帽子,不喜欢以真面目示人。
其实黑客和普通程序员只是各有侧重而已,说不上孰高孰低。黑客给人很厉害的感觉主要是他带来的破坏性比较直观,对于普通人来说比较好理解。比如电影里最常见的入侵别人系统搞坏事这类。而『普通程序员』如何通过各种精妙的设计构建出了一个又复杂牛逼的应用,抗住了天大的流量,一般人是没法理解的,比如 *** 这种,还有抗住春晚活动的流量这些。两者都是普通人做不到的。
一般来讲,黑客和普通程序员各有侧重,技能树不一样,比如前端的XSS攻击,黑客知道这个输入框内的内容如果没有被处理,那么可以通过构造特殊的输入内容来达到攻击目的,但是对于这个输入框如何弄得更好看,对用户交互友好这些他一般不关心,可能下一个关注点就在你的表单是不是可以做CSRF攻击上。还有一个例子是,框架/语言爆出了很多漏洞,黑客就会利用这些漏洞发起一些攻击,很大概率黑客对这个框架/语言都不是很熟悉。
相对的,普通程序员也不会关注黑客关注的很多点,比如CAPTCHA这种可能就直接引入个第三方的来防御了,并不会自己去实现一遍。还有加密算法这种,也几乎只有黑客才会去研究。普通程序员可能研究的就是压缩算法。黑客的攻击手段多种多样,有的甚至不会写代码,比如《我是谁–没有绝对安全的系统》里就有一位,根本不写代码,通过翻垃圾桶,开锁偷看资料这类操作搜集很多有用的信息,从而发起攻击。一般称这种为手段『社工攻击』。
程序员,黑客和开发者之间的区别
程序员是能够通过操纵计算机代码解决问题的人。他们的技能水平可高可低—从掌握基本脚本的入门级到可利用任何一门语言的绝对巫师都算是。
黑客是做东西的人。在本文背景下,是指通过对计算机编程做东西的人。这是对这个术语的原创、纯粹的定义,比方说,你有了一个想法以后就设法 “破解” 某个东西让它可以工作。这个词也可用到修改东西使其功能发生重大改变的人身上,但是不像前面的定义用得那么多。
开发者是正规培训的程序员。他们并不仅仅要解决问题或者创造东西,而是按照一套设计和实施原则去做事。这些事情包括性能、维护、伸缩、健壮性以及安全等。
三者关系:
黑客和开发者都是程序员
许多程序员,甚至开发者的创意都不足以被视为是黑客
许多程序员,甚至也包括黑客,其教育程度或者经验均不足以被看作是开发者。
比较厉害的外国前端程序员有哪些?
1. Jon Skeet
个人名望:程序技术问答网站Stack Overflow总排名之一的大神,每月的问答量保持在425个左右。
个人简介/主要荣誉:谷歌软件工程师,代表作有《深入理解C#(C# In Depth)》。
*** 上对Jon Skeet的评价:
“他根本不需要调试器,只要他盯一下代码,错误之处自会原形毕露。”
“如果他的代码没有通过编译的时候,编译器就会道歉。”
“他根本不需要什么编程规范,他的代码就是编程规范。”
2. Gennady Korotkevich
个人声望:编程大赛神童
个人简介/主要荣誉:年仅11岁时便参加国际信息学奥林比克竞赛,创造了最年轻选手的记录。在2007-2012年间,总共取得6枚奥赛金牌;2013年美国计算机协会编程比赛冠军队成员;2014年Facebook黑客杯冠军得主。截止目前,稳居俄编程网站Codeforces声望之一的宝座,在TopCoder算法竞赛中暂列榜眼位置。
*** 上对Gennady Korotkevich的评价:
“一个编程神童。”
“他太令人惊讶了,他相当于我在白俄罗斯建立了一支强大的编程队伍”
“彻底的编程天才”
3. Linus Torvalds
个人名望:Linux之父
个人简介/主要荣誉:
Linux和Git之父,一个开源的操作系统;
1998年EFF(电子前沿基金会)先锋奖得主;
2000年英国计算机学会Lovelace奖章得主;
2012年千禧技术奖得主;
2014年IEEE(电气和电子工程师协会)计算机学会先锋奖得主;
2008年入选计算机历史博物馆名人堂;
2012年入选互联网名人堂。
*** 上对Linus Torvalds的评价:
“他简直优秀得无与伦比。”
4. Jeff Dean
个人名望:谷歌搜索索引技术的幕后大脑。
个人简介/主要荣誉:谷歌大规模分布式计算系统的设计师,例如:站点爬行,索引与搜索,在线广告,MapReduce,BigTable以及Spanner(分布式数据库)。2009年进入美国国家工程院;2012年美国计算机协会SIGOPS Mark Weiser Award以及Infosys Foundation Award奖项得主。
*** 上对Jeff Dean的评价:
“使数据挖掘取得了突破性发展。”
“能够在各项工作都已安排得满满的情况下,仍能构思、创作、发布出MapReduce以及BigTable这些令人赞叹不已的工具。”
5. John Carmack
个人名望:之一人称射击游戏经典师祖《Doom》(毁灭战士)之父
个人简介/主要荣誉:id Software公司联合创始人, *** 了很多脍炙人口的游戏,如:《德军司令部》(Wolfenstein 3D,又名《刺杀希特勒》)、《Doom》(毁灭战士)、《Quake》(雷神之锤)。引领了很多计算机显示领域的新技术,包括:adaptive tile refresh(切片适配更新)、binary space partitioning(二元空间分割)、surface caching(平面缓存);2001年进入互动艺术与科学学院名人堂;2010年收获游戏开发者精选奖终身成就奖殊荣。
*** 上对John Carmack的评价:
“ *** 了很多革命性的之一人称射击游戏,影响了一代又一代的游戏设计者。”
“他能在一周内就完成任何的基础设计工作。”
“他是会编程的莫扎特。”
遭遇黑客,程序员,前端人员获取个人信息泄密问题你看该怎么解决?
这是一个安全问题,大致需要解决的是前端可能导致的权限被拉取(cookie跨域访问等),传输过程中的信息抓包(中间人攻击等),以及后端数据库被拖库(服务器被黑)
首先前端不要用cookie进行权限的管理,使用token的方式,有条件设计单独的token服务器。非分布式的可以使用session。
其次数据的交互应该走https或一定的加密规则,保证数据传输过程的安全性。
前端开发者发送数据的时候,重要的数据一定得post不能使用get,还可以进行一定的数据加密和校验规则。
最后后端接收并保存到数据库,重要数据和隐私数据是必然需要加密存储的,这里涉及到权限问题,加密的隐私数据与规则应该尽量保证只有用户才能查看,保证拖库后也无法直接获取用户信息。加密规则加盐规则保密。