LUCIANO ARANGO:好吧,伙计们。 我的名字是卢西亚诺阿朗戈。 我在斯楼二年级学生。 而我们将要谈论 网络安全主动防御。 所以,我对信息化工作办公室 安全海域。 而在今年夏天,我在实习 SeguraTec,这是一个信息 那保安服务公司 哥伦比亚的银行。 这主要是在那里我学到 我已经学会为止。 等等一些,我们是材料的 今天要去走了过来,我们都没有 真正在课堂上讲过。 但是我们会很快。 这将是像SQL,JavaScript的。 我们并没有真的走了它。 所以我可以排序的飞行,通过它, 你可能不知道的一些事情。 但很快,你就会了解它。 它会全部意义。 同时另一件事 - 保持道德。 一些你学习的东西,你 以非道德的方式可以使用。 如果它是你的,一定要尝试。 我绝对激励你们 试试自己的服务器,尝试 打算在他们里面。 看看你是否能穿透它们, 如果你能得到他们里面。 但不是任何人的。 警察真的不喜欢这个笑话和 整体而言,我们把这个在这里。 我们在乱搞。 他们得到真的生气了。 所以头部到这个网站。 我把它开在这里。 这是一个网站,并且它 有一堆的例子。 什么情况是,第一个例子 排序将是一个容易得多 不是在一个意义上的最后一个例子 与第一实施例 完全是不安全的。 ,最后一个是有点什么 正常的网络安全的人会做。 但你仍然可以排序 为避开这一点。 而且我们要集中在一 和2,实例1和2。 确定。 让我们从跨站点脚本。 JavaScript的运行在 客户端浏览器。 这是您使用的编程语言 在客户端的浏览器,以便运行 你不必更新网站 并返回到服务器。 你有它运行。 例如,Facebook的,你没有 重新载入网页的新状态 更新上来。 它使用JavaScript来生成 所有这些事情。 因此,我们可以注入恶意JavaScript 进入网站。 而这样一来,当我们发送一个链接 一个人,我们可以排序与发送 一些我们想要的代码。 有持久性和非持久性 JavaScript的 - 持久性和非持久性的跨站点 脚本,我的意思。 和不同之处在于持久性 是的JavaScript,这将是 保存在网站上。 和非持久性将是JavaScript的 这实际上将只发生一次。 因此,让我们来看一个例子 真正的快。 确定。 所以这个网站,简单, 什么也没有发生在这里。 我们要去尝试 插入一些JavaScript。 所以我们开始编写JavaScript的方式 是我们先从开始脚本。 我们关闭它与脚本。 我们只是打算把一个消息 - 我会告诉你 - 警报。 警报是一个函数,JavaScript的 用来显示一些东西。 所以让我们尝试一下真正的快。 我要去,警示打招呼。 嗯,我忘了说 - 确定。 所以这是简单的。 我们把JavaScript的一个网站上, 它走了过来。 排序的,它只会发生 我们的网站上,对不对? 所以,现在看来似乎不是 有问题,对不对? 我的意思是,你怎么可以用 这个恶意? 这样的方式,做黑客 这是非常简单的。 他们会抓住它。 他们可以发送此链接给您。 如果我此链接发送到您的权利, 你打开它,它要 说,你好,说我的网站 告诉你打招呼。 所以如果我是说一个东西 点点聪明,如果我拉起了 JavaScript函数I类 已经写了 - 但如果你看一下吧,我会去 在它之前,我写的。 所以我们要设置超时。 我们要等待 几秒钟。 事实上,我们要等待,如果 我没有记错,五秒钟。 这正好以毫秒为单位。 然后我们要做的是我们 要提醒的登录 超时重新登录。 而且我们要改变位置 到不同的位置。 所以,如果我把这个网站给某人, 他们将是 浏览周围,平静。 什么也没有发生。 而在五秒钟内,它会 说,你的登录超时。 请重新登录。 一旦他们点击OK,我要 带他们到另一个网站。 据推测,该网站的将 类似于该网站 他们在之前。 而他们要记录他们 凭据到我的网站,而不是 他们的网站。 所以我可以送一个人 用电子邮件发送此链接。 我说,哦,这里有一个链接。 这是一家银行,例如。 我说,在这里,走这条链路上。 而一旦他们送了,他们是 将要浏览周围。 我可以持续15秒,20秒等, 然后弹出了,请重新登录 重新登录上。 你们可以试试 很多更多的东西。 这是复杂的,因为你们 没见过JavaScript,因此你可能会 不知道某些功能。 但是,所有你需要做的就是启动 与脚本,结束与脚本。 而你可以把任何东西 在中间。 警报是一个函数,等待。 窗口的位置需要你 到一个新的位置。 但你可以做这么多。 而这样的想法是, 我们采取这一关。 如果我去的例子两个,我 把这个相同的代码,它的 行不通的。 所以它打印出来的一切,因为 这是什么原网站 确实是,如果我把东西在这里, 它会打印出来就在这里。 所以它不是打印出来东西。 这个例子实际上是检查 看是否脚本是存在的。 所以是的,请便。 问我。 观众:是不是发送 一个GET或POST请求? LUCIANO ARANGO:是啊。他们是 发送一个GET请求。 观众:这是什么? LUCIANO ARANGO:是啊。 另外浏览器使用post请求。 但我试图展现的GET请求 这样我们就可以看到什么是 其实已在进行之中。 所以,如果我们看看这段代码 - 所以它不工作了。 如果我们来看看这段代码, 这将是例如两个。 这是什么人在做,人 负责该浏览器 - 开拓,确定 - 被替换单词的脚本。 这是PHP,这你们可能 已经看到了一点点呢。 他只是更换 文字脚本的名称。 所以,但是,如果我继续前进 而只是把 - 如果我再抢我的代码,我要去 修改它只是一点点。 相反剧本,我要改变 它的脚本资本R.和 我们要看看这个代码的工作。 所以也没把它打印出来, 这是一个好兆头。 并希望在两秒钟, 它会弹出。 您的登录超时。 确定。 没关系。 因此,检查脚本可能 不一定工作。 的人 - 它也可以检查脚本大写, 脚本小写,海峡案 比较,确定它们是相同的。 但黑客仍然可以做那种什么 我们的V @ genere没有当我们搬到 背几个字符, 前进。 它可以计算出如何把脚本 早在那里,因此它可以注入 该脚本。 所以,你想用什么 是用htmlspecialchars到 保护您的网站。 而这样做的是它使 请确保您所投入 - 例如,报价或本 大于或小于 - 被替换的东西 这并不符合 - 让我放大在这里 - 实际的符号。 它将取代那些特殊的HTML 字符,我们可以看到,当我们 说起 - 哦,这是要带我回 - 这些字符就在这里。 这意味什么 即将到来。 对于HTML,该支架开始 告诉我们什么 HTML相关的来临。 我们要摆脱这一点。 我们不希望把HTML到一个 website.k我们不希望用户是 能放东西在自己的网站 这会影响他们的网站,像 脚本或HTML之类的东西。 最重要的是,你 消毒的用户输入。 因此,用户可以输入很多事情。 他可以输入一堆东西试试 欺骗你的浏览器仍然成 运行此脚本代码。 你想要做的是不只是看 对于脚本,但看的一切 这可能是恶意的。 并用htmlspecialchars会做 为你,所以你不必 为此担心。 但不要试图做自己 那种与自己的代码。 是每个人都清楚的XSS? 确定。 让我们去SQL注入。 因此,SQL注入是可能的 头号漏洞 在不同的网站。 我的意思是,一个很好的例子 - 我只是最远的研究 对于这件事情。 而且我发现这真棒的文章,其中 我看到哈佛的违反, 遭到黑客攻击。 我想知道,好了, 他们会怎么做呢? 哈佛是最真棒,最 确保大学如初。 对不对? 好了,违反了服务器, 黑客使用 技术,称为SQL注入。 所以,这种情况在日常的基础。 人们忘记考虑到 SQL注入。 哈佛一样。 我认为这里说的,普林斯顿, 斯坦福大学,康奈尔大学。 那么,我们如何 - 究竟什么是这个SQL 注射是将所有这些 人们失望? 确定。 因此,SQL是一种编程语言, 我们使用它来访问数据库。 我们做的是我们选择 - 所以这是什么读,现在是选择 一切从表中。 SQL,它改变成这些数据库 有充分的表信息。 因此,从用户选择的一切 其中名称是用户名。 对不对? 够简单。 SQL注入的想法是,我们 插入一些恶意代码,将 欺骗服务器到运行的东西 比什么不同 最初运行。 所以我们说的用户名, 我们把在1或等于1。 所以,我们把1或等于1。 它现在将读取的方式将选择 从用户,一切从 用户 - 这就是一切 - 其中name是用户名,但 用户名是1或等于1。 这样的名字是什么,或1等于1。 1等于1始终是真实的。 因此,这将始终返回信息 从用户。 确定。 我们并不需要有 正确的用户名。 我们只要有什么是我们想要的, 并且它会返回信息 我们所需要的。 让我们来看看另一个例子。 如果我们从用户选择的一切, 其中name是DROP TABLE用户 - 所以你觉得这会 做,如果我把用户名 作为DROP TABLE用户? 任何人有一个想法? 是。 观众:它会告诉 它倾倒的所有表。 LUCIANO ARANGO:这将告诉我们 倾倒一切都在网站上, 一切在数据库中。 和人用这个东西的 - 所以 我要告诉你的家伙。 我禁用删除表 因为我不想让你 你们砸我的表。 让我们来看看这个。 因此,这只是拉起信息 某一个人。 那么,我们如何知道这是 受到SQL注入攻击。 我们将检查真正的快 如果我们可以把东西 - 让我复制此代码。 我会去在它的第二个。 我打算把根和1等于1。 这一权利在这里,这 百分号23 - 它到底是什么,如果我 在这里看 - HTML需要在数量上,如果你的方式 看看当我把在一个空间 在这里 - 如果我空间的东西 在这里,它改变它的百分之2。 难道你们看到这个就在这里 当我把在一个空间? 它的工作方式是,你不仅可以 通过HTML发送ASCII值。 所以它取代,例如 有20%的空间。 我不知道,如果你们 之前已经看到这一点。 它用23%的一个包括hashtag。 我们需要一个包括hashtag在年底或 语句,这样,我们就可以告诉 数据库忘了注释掉 这最后的分号结尾。 我们希望它不会想到这一点。 我们只是希望它运行一切 我们有事先和 评论说出来。 让我们来看看它。 所以,如果我把东西错了 - 比方说,例如,我把2等于 1,它不给我任何东西。 当我把1等于1,而且它 返回的东西,这告诉我, 这是易受 SQL注入。 我现在知道,无论 我把这个后 - 并且例如,删除表 或者类似的东西 肯定会的工作。 我知道这是容易受到SQL注入 因为我知道, 引擎盖下,它让 我做了1等于1的事情。 好不好? 如果我们看看这些其他的, 排名第二和第三位,它的 会做多一点点 的检查下面的 引擎盖的它是什么。 因此,任何使降 任何事情或试过吗? 那种做你们得到的SQL吗? 因为我知道你们有没有 看到它,所以它是一种 为迷惑你们。 让我们一起来看看。 那么什么是防止SQLI的方式吗? 确定。 所以这是非常重要的,因为你 你们一定要防止 这在你的网站上。 如果没有,你所有的朋友去 取笑你,当他们放弃所有 你的表。 这样的想法是,你修复SQL 以某种方式,而你匹配 何用户输入与 一个特定的字符串。 所以这种工作方式是你 准备数据库。 您选择的名称,颜色,和卡路里 从数据库中称为水果。 然后,其中的热量小于, 我们把一个问号出现 说我们要输入 东西在一秒钟。 与色彩等于,我们提出了一个问题 马克说,我们要 在第二个输入的东西为好。 好不好? 然后我们执行它,把 在150和红色。 这将检查以 确保这两个 - 这个数组将检查这些 2顷的整数和 这是一个字符串。 然后,我们去了,我们取 总之,我们把它放在红色。 这意味着我们获取所有。 这意味着我们实际上执行的SQL 声明并把它放回红色。 在这里,我们这样做,但我们 为黄色这样做。 我们获取所有。 并且以这种方式,我们防止了用户 从能够输入的东西 这不是我们指定的内容,一个字符串 或一个整数,例如。 我在前面谈到 依靠别人。 当你们开始你的项目,你 最绝的要使用 引导或类似的东西。 有你们曾经使用WordPress的? 也许你们已经用 WordPress的可能性最大。 因此,与使用问题 别人的东西 - 我只是去谷歌真正的快 WordPress的漏洞。 如果我把这了现在 - 我真的做了两秒钟的谷歌。 我们可以看到,WordPress的 - 此日为九月份'12。 26被更新。 WordPress的默认配置 3.6之前并不妨碍这些 一定的上传,这可能 使它更容​​易为 跨站点脚本攻击。 因此,一个快速的故事,一旦我们的工作 有 - 所以我在夏天,一个工作 实习。 并且我们与排序工作 就像一个大的信用卡公司。 他们依靠一种叫做 - 我不知道,如果你们曾经玩过 与所谓的Joomla产物。 joomla的是,用于一个产品 控制 - 几分相似, WordPress的,用于构建网站。 因此,他们有他们的网站 工作的Joomla。 这实际上是一个信用卡 公司在哥伦比亚。 我会带你到他们的 网站真正的快。 因此,他们使用的Joomla。 而且他们还没有更新的Joomla 最新加入。 所以,当我们采取一看 他们的代码,我们能够真正 往里走自己的代码,窃取所有 信用卡信息,他们有, 所有的信用卡号码, 的名称,地址。 而这只是 - 和他们的代码是完美的罚款。 他们有伟大的代码。 这是所有的安全性。 他们检查所有的数据库。 他们确保跨站点 脚本的罚款。 但他们使用的东西,这不是 更新,这不是安全的。 所以,导致他们 - 所以你们 肯定会使用其他 别人的代码,别人的框架 建立您的网站。 确保他们是安全的,因为 有时它不是你,就是那个 差池。 但别人犯错,而 那么你会因为那下来。 密码和PII。 这样的密码。 确定。 让我们来看看密码 真正的快。 确定。 请告诉我,每个人都 使用安全 - 我在这里希望大家 使用安全的密码。 我只是让那 在作为一个假设。 所以,你们肯定会 存储密码为您的网站。 你会做类似的东西 登录或类似的东西。 最重要的是不存储 密码以纯文本格式。 这是非常重要的。 你不想来存储 密码以纯文本格式。 而你绝对不会真的想 将其存储在一个单向散列。 所以,单向散列是什么,当你 产生一个字,当你把这个 字到一个散列函数,它会 回产生某种神秘 消息或神秘的组键。 我会告诉你一个例​​子。 我要他们凑字密码1。 因此MD5哈希是要返回我 某种奇怪的信息。 问题是,人在那里 那想进入的网站有 已经想通了排序 所有的MD5哈希值。 他们做了什么时,他们就坐在自己的 计算机,而且它们每一个散列 一个可能的话在那里,直到 他们得到了某种这是什么。 如果我要看看这件事 - 我只是抓住这个散列。 如果我得到这个哈希从 - 如果我去到一个网站,我觉得 这个散列,因为我得到的 数据库,我看看它,有人 已经想通了我。 是啊。 于是人们坐下来,无论MD5 那你把哈希,他们将 回到你的东西 那是一个字。 如果我再凑字,像 - 我不知道 - trees2。 我不想失望 我的谷歌搜索。 就在那儿,trees2。 所以很多网站 仍然使用MD5哈希值。 他们说,哦,它是安全的。 我们不是存储在纯文本。 我们有这样的MD5哈希值。 和所有我需要做的仅仅是 谷歌的数目。 我什至没有计算自己。 我可以Google一下,有人 已经做到了我。 这里有一帮他们。 这里有一堆密码。 所以,绝对不要使用MD5哈希, 因为所有你必须 做的是谷歌吧。 那么你要使用呢? 确定。 一种叫做盐析。 那么,什么是盐析 - 做你们还记得我们 谈论随机的 - 我不知道是什么PSET它是 - 被它PSET有四个? 我们都在谈论寻找 在大海捞针。 而在pset中,它说,你可以 其实弄清随机 产生是因为有人的已经跑了 随机一百万次,只 排序形成他们所产生。 你想要做的是什么 把一个输入端。 所以这是那种什么是盐析。 他们已经想通了,盐析 返回每个工作。 那么,什么盐析作用是 你把盐。 你把某个词。 它会出现乱码这个词根据 看你摆在这里。 所以,如果我凑这个密码1 一句话,它要散列 如果我不同的散列密码1 用不同的句子。 排序它给它的地方,以 开始的开始的散列。 所以这是一个很大很难计算,但你 还可以计算的,尤其是 如果你使用一个糟糕的盐。 人们已经也想通了 常见的盐和想通了 那是什么它是。 随机盐要好得多, 但是最好的方法是使用 一些所谓的地穴。 并允许您地穴什么 不 - 所以这些功能都 已建成的为您服务。 很多人忘记了,或 他们忘记使用它。 但是,如果我仰望地穴PHP,隐窝 已经返回一个哈希字符串我。 它实际上它形成的盐多次 和散列它很多次。 所以,我们没有做到这一点。 因此,所有你需要做的是 它送入墓穴。 它会创建一个伟大的散列无 你不必担心盐 或任何东西。 因为如果你要盐它,你必须 记住什么盐你使用 因为如果不是,你不能让你的 密码不回来了 您使用的盐。 确定。 也可识别个人身分 信息。 所以,社会保障,信用卡 - 这是很明显的。 但有时人们忘记了它的方式 作品是,有多少信息你 确实需要找到一些一个人呢? 有人做了一个关于研究 这样的方式回来。 和它是一样,如果你有 全名,你无法找到 一个人,很容易。 但是,如果你有一个全名 和出生日期? 是足以识别 有人专门? 如果你有他们的名字和 街道地址,他们生活呢? 这就够了,找人? 并且,当他们问的是什么 个人身份信息,并 你该担心 不放弃? 如果你放弃个人识别 信息有人给你, 你可能会被起诉。 我们绝对不希望出现这种情况。 所以,当你把你的网站 出来,和你有一个很酷的 设计,希望你做 真棒的最终项目。 任何形式的想要 把它在那里。 你要确保,无论 你是从用户接受,如果它是 个人身份信息,您 要确保你是真的 小心。 外壳注塑。 确定。 壳牌注入允许入侵者 访问您的实际的命令行 在你的服务器上。 所以他能够运行,代码 你无法控制。 让我们以这样的一个例子 美丽的字符串就在这里。 如果我们进入该网站再次,我 要进入代码注入。 那么,这样做的是 - 它亦是我们 看着面前。 我们让用户放在什么 他希望,它会打印出 任何你想要的。 所以我打算把一个呼叫。 这样做是什么 - 它会通过连接开始。 因此,这将让我跑什么 指挥人的跑步 之前和我的命令。 而我运行一个系统命令。 而这最后的字符串 - 还记得 我跟你们一下, 而你必须编码 以URL的方法。 如果我运行这个现在 - 我会告诉你在这里 - 你会看到,我结束 向上运行的命令。 其实,这是实际的服务器 我的网站上运行。 所以我们不希望出现这种情况, 因为我可以运行 - 这台服务器是不是我的。 所以,我不想搞砸了他的 姐姐,马库斯的服务器。 但你可以运行多个命令 这是危险的。 和潜在的,你可以删除 文件,删除目录。 我可以删除某个目录,如果 我想,但我不希望 要做到这一点马库斯。 他是一个好人。 他让我借用他的服务器。 所以我打算让他 关上的好。 所以,我们不希望使用 - 我们不 要使用eval或系统。 EVAL或系统使我们能够 使这些系统调用。 EVAL评估手段。 系统意味着什么我跑了。 它运行在什么系统。 但是,我们可以在取缔这些东西 PHP,所以我们不使用它们。 和文件上传。 我打算做一个真棒 与文件上传的东西。 但就像我告诉你们,我的档案 上传的东西是行不通的。 如果我要上传的文件,现在 - 如果我是要上传的文件, 这是一个图片 - 你有一个上传的东西 这是一个图片。 这很好。 什么也没有发生。 但如果你有一个上传文件, 例如,与用户实际上传 一个PHP文件或exe文件或东西 这样,那么你可以潜在地 有一个问题。 这是工作之前。 不幸的是我,这是 不工作了。 如果我举个例子,上载这个文件,我 没有得到上传权限 由于服务器上的文件 并非我的。 所以,这个家伙很聪明。 所以我们不希望 - 我要告诉你们 - 好了,这些都是一些非常酷的工具。 所以这些 - 进入 - 如果你们有火狐 - 希望你做的。 有2个附加组件称为SQL注入 我和跨站脚本我。 他们打开了尽可能少的一侧 酒吧就在身边。 如果我是去 CS60例如 - 所以它的作用是它的外观 所有形式的 - 希望,我不会得到 在为此烦恼。 但确定。 这里的针系统。 所以当我开始寻找在孔 系统,我做的第一件事是 打开这个美丽的小 工具就在身边。 而我将要测试的形式 与自动攻击。 还等什么这样做是会慢慢 开了一堆的浏览器。 这里有一堆的浏览器。 并且它试图每一个组合 跨站点脚本 有可能的是,如果 你就在旁边看。 它会给我一个结果 排序的答案是什么。 全部通过。 很显然,他们都通过。 我的意思是,他们真的很聪明 人们在那里。 但如果我要运行 - 我当我运行这个之前已经有次 对学生的最终项目。 我只是运行SQL注入与我 所有不同的攻击。 和它的尝试SQL注入 该引脚服务器。 因此,如果我们向下滚动,对于 例如,它说 - 这是一件好事,如果它返回。 因此,它测试了一些特定的值。 而服务器返回一个 代码为阴性。 除去暂时的。 这是好事。 它会尝试所有这些测试。 所以,你可以简单地运行 - 我希望我能找到一个真正的网站 快速,将让我 - 也许CS50店。 哇,这是要 采取的方式太长。 我会让第一次测试 无法完成正确的。 所以它的抱怨。 所以这三样东西。 这些工具都是免费的。 您可以下载并运行它们对 你的网站,它会告诉你,如果 你有跨站点脚本, 如果您有SQL,如果你有 的东西等。 那种我搞乱了。 什么是重要的 - 好了,永远不要相信用户。 无论用户输入到你,让 一定要消毒,你清洁, 您检查正确的事情, 那它给你什么你 要他给你。 始终更新在什么框架 那你实际使用。 如果你使用类似的自举 - 我知道你们将要使用 引导,因为他要去 在这个即将在课堂 - 和Wordpress或类似的东西, 通常这会被黑客攻破。 然后,你甚至不知道。 你只是运行你的网站。 而且它是完全安全的。 和你去。 所以我真的钓早。 但我要感谢Pentest实验室。 我要告诉你们的东西 所谓Pentest实验室。 如果你们是真正感兴趣 什么样的安全真的是,有一个 网站名为如果Pentest实验室 你们去了现在。 哦,好吧,这不是它。 我只是要像这样运行。 谷歌告诉我答案。 确定。 它教你使用 - 因此,它 说,学习网络渗透 测试的正确方法。 它教你 - 希望,你是一个道德的人。 但它教你如何看 你如何能得到内部网站。 如果你了解如何可以进去 网站,你可以学习如何 保护自己免受越来越 内部网站。 让我放大,因为也许你们 不看这个权利。 从SQL注入到外壳,使 排序如何,我可以从SQL得到 注入壳。 和您下载此虚拟机。 和虚拟机已经自带 与你的网站 去试试。 您下载此PDF。 它会告诉你逐行什么 你所要做的,你检查一下。 其实,这是什么攻击 的确,以获得一个网站里面。 而且其中的一些东西是复杂的。 我希望我能去超多 事情与你们。 但我担心你们 有没有真正 - 这是我走过去与 你们这些家伙,Web测试 对于渗透测试。 真的不知道是什么 SQL是什么 - 卡尔·杰克逊的研讨会 是真棒也是如此。 你们不知道排序 的这是什么。 但是如果你去这个网站,你 下载这些教程和这些 PDF文件,你可以看一看排序 有什么安全方面确实 在渗透测试,看你如何能 进去网站和保护 自己从它。 所以,如果我做一个超快速浏览, 它会防止跨站点脚本。 要使用用htmlspecialchars每 一次用户输入的东西。 防止SQL注入。 如果你这样做,你已经 过得比哈佛是 当他们得到了突破。 并确保您的密码 是不是纯文本。 确保你不会只有一个单向散列 他们,但您使用的crypt,PHP的 功能,我给你们。 这样一来,你应该是好的。 此外,如果你的朋友告诉你,运行 SQL注入我自己的网站上。 执行跨站点脚本 在他们的网站。 你会看到很多这样的网站 有一吨的漏洞。 这是令人难以置信多少人忘记了如何 来净化自己的数据库或使 知道什么是人的输入 是不是脚本代码。 确定。 那种我真的结束早。 但是,如果任何人有任何疑问, 什么,你可以拍我一个问题。 是啊。 去吧,去吧。 观众:我只想问, 你能解释一下如何将文件 上传作品完全相同。 LUCIANO ARANGO:是啊。 因此,让我告诉你的文件 上传真正的快。 因此,文件上传 - 问题机智的文件上传 现在是 - 我要打开代码,以便你们 看到幕后的代码。 并且它上传。 下面是该文件上传代码。 我们正在努力进入这个 目录在这里。 我们正在努力,一旦我们输入 文件,使用isset文件 - 因此,当有一个 文件中的文件,该图像,然后 我们尝试把它搬到这里。 我们抓取的文件在这里。 该方法是POST,类型,图像,文件。 我们正在发送此文件。 然后一旦我们得到它,所以一旦文件 有一个形象,我们正在努力将其发送 到这个目录。 问题是,该网站是不 让我去这个目录, 因为它不希望我回去。 它不希望我去 - 我得走了 - 所以这里的上传。 这里的图像。 我得走了所有的方式回到了 开始,把它放在那里,然后 快去把它放进目录中。 所以,如果我运行一个终端窗口, 我想移动文件 - [听不清] 可以看到它。 如果我想移动一个文件,我有 把文件名,然后在 完整的路径,我想将它发送到。 然后服务器不 让我回去。 所以它不是让 我得到这个文件。 但一般情况下 - 所以有一个代码 上传文件。 所以,通常会发生什么事是, 人的不检查,如果我的档案 结束与jpeg格式,所以我 希望检查。 让我打开一个例子太真实了快。 确定。 此人的权利 - 这样的例子二是检查 如果的preg_match - 这里是在这里 - 确保结尾 PHP的,这是很好的。 这是好事。 但是有一个真正的大 问题与此有关。 这是好事。 但如果我把一个文件名为 myfavoritepicture.php.jpeg,我可以 还是有可能摆脱JPEG的 并运行it.k PHP的危险。 你不想要的人能够 在您的网站上运行的代码。 但随后,JPEG让它通过。 这个想法是你真正想做的事 不带文件,A。但是,OK,什么 你真的想要做的是确保 你读了整个世界。 并没有什么。php在它。 有没有,PHP的 整个文件名。 观众:但是你可以 把jpeg格式就完了。 这些服务器仍然可以运行的代码。 LUCIANO ARANGO:不,它不会 在开始运行。 你要回去试试 如果你能看到 - 观众:所以我们要 - OK,只是另一套涉及 - LUCIANO ARANGO:是啊。 观众:确定。 LUCIANO ARANGO:是啊。 确定。 还有没有其他问题? 确定。 我要离开这个和排序 尝试的,如果你们能看到 - 其他的人都多一点点 复杂,因为它们需要多少 SQL比更多的知识只是 网页的SQL开始知识和 什么是JavaScript的。 但我会尽量保持这个理想, 并希望你们将学习 关于这一点,并试图采取偷看 你可以做什么和多少个实例 你可以通过。 任何人有任何其他 关于它的问题? 来吧。 是啊,拍,拍。 是啊,去吧。 来吧。 观众:确定。 所以,我听到有关如何魔术引号 都不够安全。 LUCIANO ARANGO:什么 - 魔术引号? 观众:是啊。 所以,它增加了 - 所以每当你输入 的东西,它总是添加引号。 LUCIANO ARANGO:是啊。 是啊。 确定。 观众:然后我虽然是工作, 但后来我搜索了起来。 它说这是不好的。 但我不知道为什么。 LUCIANO ARANGO:是啊。 观众:不要使用魔术引号, 因为它不是安全的。 LUCIANO ARANGO:确定。 所以魔术引号是当你插入的SQL 而且它已经增加了报价给你。 观众:它总是添加引号 无论你把英寸左右 LUCIANO ARANGO:是啊。 因此,与该问题是 - 我会看看 - 观众:它是如何获得 SQL语句? 或者,我想这可能是 就像报价选择。 LUCIANO ARANGO:是的,你需要 好的报价为SQL。 观众:没有,但服务器 它会为你。 LUCIANO ARANGO:这些小行情 在这里,这些小行情? 观众:是啊。 LUCIANO ARANGO:是啊。 问题是,你可以 注释掉最后 - 好了,有什么我可以做的是,我可以发表评论 出来 - 所以让我们来看看 - 让我 打开一个文本编辑文件。 让我这个编辑 在这里直接。 确定。 你们可以看到清楚? 有什么我可以做的是,我可以发表评论 出最后一个。 这将注释掉最后一个。 然后我把一个在这里,把 这里所有的恶意的东西。 所以用户实际上 输入,对不对? 用户的输入不 的事情,对不对? 这就是我要的输入为 的人试图进入。 我打算把 - 这是一个引号。 它只是弯弯曲曲的错误。 然后什么代码 是打算做 - 对不起,我要借此出来。 什么是代码要做的是 这将添加第一个 引号在这里。 并且它要添加的最后 引号为好。 而且它也将加入 最后,最后一个引号。 但我评论这些报价 标记出来,这样他们就不会运行。 和我完成这个报价 纪念在这里。 你明白吗? 你失去了什么? 我可以评论的最后报价 标志,并采取照顾 第一个引号。 观众:而刚刚完成 的第一个。 LUCIANO ARANGO:是啊。 而刚刚结束的第一个。 是啊,这是正确的。 这就是我能做的。 是啊。 任何其他问题这样呢? 这是一个很大的问题。 没有,是的,也许。 希望你们会有点令 当你学习SQL和更有意义 这样的事情。 但要确保你 - 请关注这些工具。 对不起,这些工具在这里。 这些工具都是伟大的。 如果任何人有任何疑问, 您也可以发邮件给我。 这是我的正常邮件。 这是我的工作电子邮件,其中 当我在SEAS工作。 好的,谢谢。 谢谢,伙计们。 你是好去。 你不必呆在这里。 不要鼓掌。 这是奇怪的。 好的,谢谢,伙计们。