1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
1
00:00:00,000 --> 00:00:11,300

2
00:00:11,300 --> 00:00:15,490
>> DAVID J.马兰:这是CS50,
这是10周的开始。

3
00:00:15,490 --> 00:00:19,460
你可能还记得,我们已经证明
屏幕三维打印机,其上

4
00:00:19,460 --> 00:00:21,610
这是设备
采用塑料线轴

5
00:00:21,610 --> 00:00:24,840
然后通过加热挤压它
并融化它,这样我们就可以

6
00:00:24,840 --> 00:00:27,310
成昌军
象,例如。

7
00:00:27,310 --> 00:00:29,184
>> 因此,在莱弗里特楼
不过,最近,我

8
00:00:29,184 --> 00:00:31,850
在聊天与一个你
同学小张的朋友

9
00:00:31,850 --> 00:00:35,720
名为米歇尔,究竟是谁在实习
在过去的一年这个其他公司

10
00:00:35,720 --> 00:00:40,010
有不同的技术用于实际
创建三维物体

11
00:00:40,010 --> 00:00:41,890
像这样的小小的这里象。

12
00:00:41,890 --> 00:00:45,550
特别是,本方式的工作原理
是它的东西的例子

13
00:00:45,550 --> 00:00:49,740
所谓的光固化,从而
有树脂或液体的盆地,

14
00:00:49,740 --> 00:00:53,340
然后激光撞击该
液体,渐渐的设备

15
00:00:53,340 --> 00:00:56,990
电梯和升降机及升降机的东西
要打印,像一头大象,

16
00:00:56,990 --> 00:00:58,676
作为液体变成固体。

17
00:00:58,676 --> 00:01:00,550
其结果,实际上
是值得的

18
00:01:00,550 --> 00:01:04,194
比一些更健壮
塑料赠品你们中的一些

19
00:01:04,194 --> 00:01:04,819
可能有。

20
00:01:04,819 --> 00:01:06,860
>> 什么好心昌
在这里为我们所做的是

21
00:01:06,860 --> 00:01:12,210
的确使用的照片时间推移
超过一个小时或更多的过程中,

22
00:01:12,210 --> 00:01:14,580
也许,在这里产生这个家伙。

23
00:01:14,580 --> 00:01:19,060
会有人谁是永远不会到来之前
喜欢来打开始对这个视频?

24
00:01:19,060 --> 00:01:21,250
让我一起去,怎么样在那里。

25
00:01:21,250 --> 00:01:21,790
上来吧。

26
00:01:21,790 --> 00:01:24,960

27
00:01:24,960 --> 00:01:25,460
行。

28
00:01:25,460 --> 00:01:29,250

29
00:01:29,250 --> 00:01:29,896
你是?

30
00:01:29,896 --> 00:01:31,270
卢克:我叫卢克[听不清]。

31
00:01:31,270 --> 00:01:31,700
DAVID J.马兰:嗨,卢克。

32
00:01:31,700 --> 00:01:32,695
很高兴认识你。

33
00:01:32,695 --> 00:01:33,653
>> 卢克:很高兴见到你。

34
00:01:33,653 --> 00:01:35,120
听众:他是UC的运行。

35
00:01:35,120 --> 00:01:38,640
>> DAVID J.马兰:我知道,
我们试图不提倡。

36
00:01:38,640 --> 00:01:41,240
好吧,让卢克,所有
你在这里做的CS50

37
00:01:41,240 --> 00:01:45,829
被击中空格键
打印这头大象。

38
00:01:45,829 --> 00:01:46,495
[视频回放]

39
00:01:46,495 --> 00:01:49,988
 -  [机器呼呼]

40
00:01:49,988 --> 00:02:00,467

41
00:02:00,467 --> 00:02:01,964
 -  [CRASH]

42
00:02:01,964 --> 00:02:04,459
 -  [BOOM]

43
00:02:04,459 --> 00:02:06,147
 -  [CRASH]

44
00:02:06,147 --> 00:02:06,980
[完视频回放]

45
00:02:06,980 --> 00:02:09,370
DAVID J.马兰:所以这正是
是什么样子的3D打印。

46
00:02:09,370 --> 00:02:10,453
这是你的大象。

47
00:02:10,453 --> 00:02:12,100
感谢您的志愿服务。

48
00:02:12,100 --> 00:02:12,830
行。

49
00:02:12,830 --> 00:02:16,580
如此反复,每次的规范
最后的项目,这个硬件的

50
00:02:16,580 --> 00:02:18,890
提供给你们
是,由于某种原因,

51
00:02:18,890 --> 00:02:21,870
你的项目有一定的交集
的软件和硬件,

52
00:02:21,870 --> 00:02:24,650
认识到这些是现在的资源。

53
00:02:24,650 --> 00:02:27,750
>> 我想带一个瞬间触动
一旦说出来深红色的文章

54
00:02:27,750 --> 00:02:30,541
昨天深夜,这是
宣布这个家伙在这里,大卫·

55
00:02:30,541 --> 00:02:33,920
约翰逊,谁是被高层
导师教统10相当长的一段时间,

56
00:02:33,920 --> 00:02:36,210
离开哈佛的
学年结束。

57
00:02:36,210 --> 00:02:38,390
我只是想
走了一会儿,说实话,

58
00:02:38,390 --> 00:02:41,620
感谢大卫在CS50的面前。

59
00:02:41,620 --> 00:02:44,360
他一直是良师益友
种种对我们多年来的。

60
00:02:44,360 --> 00:02:46,980
>> 而且我觉得像我们,CS50,有
而从小一起长大的Ec 10

61
00:02:46,980 --> 00:02:48,870
在这里,因为他们在我们面前的权利。

62
00:02:48,870 --> 00:02:52,040
他和欧共体10有整支球队
一直奇妙恩典,坦率地说,

63
00:02:52,040 --> 00:02:55,410
当我们拖着我们所有的设备
每一个星期,甚至几年前,

64
00:02:55,410 --> 00:02:57,320
提供了大量
律师的,因为我们是

65
00:02:57,320 --> 00:02:59,520
好奇的是,他们是如何运作的Ec 10。

66
00:02:59,520 --> 00:03:02,640
因此,我们的感谢和
钦佩大卫·约翰逊。

67
00:03:02,640 --> 00:03:06,560
>> [掌声]

68
00:03:06,560 --> 00:03:08,030

69
00:03:08,030 --> 00:03:12,180
>> 现在,unrelatedly,所以
到底是真的近了。

70
00:03:12,180 --> 00:03:13,630
我们这里是10周。

71
00:03:13,630 --> 00:03:15,920
我们只有短短
几个星期正式

72
00:03:15,920 --> 00:03:18,320
在这里上课离开,随后
由一对夫妇的事件。

73
00:03:18,320 --> 00:03:21,860
所以,给你一个什么样的感觉
在地平线上,我们在这里今天。

74
00:03:21,860 --> 00:03:24,480
>> 本周三,召回,
我们将有一个客座讲座

75
00:03:24,480 --> 00:03:27,040
通过莫属
微软自己的史蒂夫·鲍尔默。

76
00:03:27,040 --> 00:03:31,740
如果你还没有去
cs50.harvard.edu/register,

77
00:03:31,740 --> 00:03:33,360
这样做,由于空间的限制。

78
00:03:33,360 --> 00:03:36,447
它们将被检查
这一天的ID在门口。

79
00:03:36,447 --> 00:03:38,280
如果你不在这里
上周,我想我

80
00:03:38,280 --> 00:03:41,850
逗你有不同的外观
在史蒂夫和兴奋

81
00:03:41,850 --> 00:03:44,215
等待着我们在周三。

82
00:03:44,215 --> 00:03:45,205
>> [视频回放]

83
00:03:45,205 --> 00:03:46,195
>> -Passion。

84
00:03:46,195 --> 00:03:50,650
>> -We're将是hardcore--铁杆。

85
00:03:50,650 --> 00:03:51,640
>> -Innovator。

86
00:03:51,640 --> 00:03:53,339
>> -Bill说,你不明白这一点。

87
00:03:53,339 --> 00:03:55,130
我们要放
计算机的每个办公桌上

88
00:03:55,130 --> 00:03:58,690
而在每一个家庭,成为
座右铭的公司。

89
00:03:58,690 --> 00:04:01,850
我发誓,比尔发明了它
那天晚上真的给我

90
00:04:01,850 --> 00:04:04,370
一些视力
为什么我应该说是的。

91
00:04:04,370 --> 00:04:07,280
我从来没有回头,
真的,在那之后。

92
00:04:07,280 --> 00:04:10,010
>>  - 新鲜毕业的大学生,他
加入了一个初出茅庐启动

93
00:04:10,010 --> 00:04:14,450
并帮助它成长为美国的一
最成功的企业永远。

94
00:04:14,450 --> 00:04:16,920
的生活和商业
教训一路上学到

95
00:04:16,920 --> 00:04:19,925
让他回到他的
童年的激情和热爱。

96
00:04:19,925 --> 00:04:24,650
而这些经验已经准备好
他为他的生命中的下一个挑战。

97
00:04:24,650 --> 00:04:27,150
>> 什么也没有得到我们的方式 - 轰!

98
00:04:27,150 --> 00:04:29,330
滚滚而来的铁杆!

99
00:04:29,330 --> 00:04:31,150
去快船!

100
00:04:31,150 --> 00:04:38,627
>>  - 这是史蒂夫·鲍尔默,
“在我自己的话。”

101
00:04:38,627 --> 00:04:39,460
[完视频回放]

102
00:04:39,460 --> 00:04:41,240
DAVID J.马兰: - 这个
周三CS50。

103
00:04:41,240 --> 00:04:43,080
再次前往该网址在这里。

104
00:04:43,080 --> 00:04:46,500
至于是在地平线上还有什么,
接下来的一周,周一不上课。

105
00:04:46,500 --> 00:04:50,020
但下面我们将是
由上周三测验之一。

106
00:04:50,020 --> 00:04:54,390
去CS50的主页了解详细信息
对人物,地点和时间

107
00:04:54,390 --> 00:04:57,640
对于所有的各种监考的
物流和类似物,

108
00:04:57,640 --> 00:05:00,190
以及关于审查
会议是即将出版。

109
00:05:00,190 --> 00:05:06,479
然后,最后,在周一,当天
感恩节假期的前一周,

110
00:05:06,479 --> 00:05:08,020
意识到这将是我们最后的讲座。

111
00:05:08,020 --> 00:05:11,490
我们将竭诚为蛋糕和一个伟大的
这笔交易的兴奋,我们希望。

112
00:05:11,490 --> 00:05:13,976
>> 现在,一对夫妇的其他更新。

113
00:05:13,976 --> 00:05:16,350
请记住,状态
报告显示,这是真的只是

114
00:05:16,350 --> 00:05:20,430
意味着是一个休闲互动
与你的TF自豪地说出刚

115
00:05:20,430 --> 00:05:23,106
多远随着你
最后的项目你,

116
00:05:23,106 --> 00:05:24,980
或至少​​一个神智
检查你应该

117
00:05:24,980 --> 00:05:27,250
快到了
点此后不久。

118
00:05:27,250 --> 00:05:28,660
那么黑客马拉松得出。

119
00:05:28,660 --> 00:05:30,800
实现黑客马拉松
不是一个机会

120
00:05:30,800 --> 00:05:33,690
开始你的最后项目,但
是指为契机

121
00:05:33,690 --> 00:05:37,040
是在或朝向中间
您的最终项目结束时,

122
00:05:37,040 --> 00:05:41,030
正当一些实施
两天后,接着CS50公平。

123
00:05:41,030 --> 00:05:43,330
>> 现在,CS50生产
团队,几年前,

124
00:05:43,330 --> 00:05:46,127
把一个传情
为CS50公平,我们

125
00:05:46,127 --> 00:05:48,710
以为我们今天会告诉你,
因为他们一直在努力

126
00:05:48,710 --> 00:05:51,930
在一个前传的是,一个新的视频
今天我们将完成与。

127
00:05:51,930 --> 00:05:57,694
但这里是等着你
今年的CS50公平的。

128
00:05:57,694 --> 00:05:58,360
[视频回放]

129
00:05:58,360 --> 00:06:00,680
 -  [CELL电话铃声]

130
00:06:00,680 --> 00:06:07,624

131
00:06:07,624 --> 00:06:11,117
[MUSIC“的主题从碟中谍”]

132
00:06:11,117 --> 00:08:47,065

133
00:08:47,065 --> 00:08:52,820
[完视频回放]

134
00:08:52,820 --> 00:08:56,840
DAVID J.马兰:所以这是究竟如何
我们结束最后的项目提交。

135
00:08:56,840 --> 00:08:59,220
一对夫妇现在如果teasers--
你想加入尼克在这里

136
00:08:59,220 --> 00:09:02,740
吃午饭,像往常一样,这
周五,前往该网址在这里。

137
00:09:02,740 --> 00:09:05,530
此外,如果你想
加盟尼克或本尼克

138
00:09:05,530 --> 00:09:08,770
或本佳佳或任何
对CS50的团队成员,

139
00:09:08,770 --> 00:09:11,110
一定要明白的是,不久,
学期结束后,

140
00:09:11,110 --> 00:09:13,780
CS50将已经招募
对于明年的球队,

141
00:09:13,780 --> 00:09:18,130
核证机关,转录因子,设计师,生产商,
研究人员等岗位

142
00:09:18,130 --> 00:09:21,790
在这里无论是在操作CS50
前面和后面的场景。

143
00:09:21,790 --> 00:09:25,482
因此,如果这可能会感兴趣
给你,前往该网址在这里。

144
00:09:25,482 --> 00:09:28,190
和学生更舒适,
那么舒服,而且在某个地方

145
00:09:28,190 --> 00:09:31,710
之间的相似都欢迎
并鼓励申请。

146
00:09:31,710 --> 00:09:34,920
>> 因此,它是完美的时机了,没
开玩笑,今天早上,当我醒来时,

147
00:09:34,920 --> 00:09:37,220
我在我的收件箱中有这样这里的垃圾邮件。

148
00:09:37,220 --> 00:09:39,420
它实际上下滑
通过Gmail的垃圾邮件过滤器

149
00:09:39,420 --> 00:09:41,659
不知何故,最终在我的实际收件箱。

150
00:09:41,659 --> 00:09:43,700
它说,“亲爱的邮箱
用户,你当前

151
00:09:43,700 --> 00:09:45,240
升级至4 GB的空间。

152
00:09:45,240 --> 00:09:50,750
请登录您的帐户
为了验证电子空间“。

153
00:09:50,750 --> 00:09:54,100
>> 再有就是这个漂亮的蓝色
有诱人的链接点击

154
00:09:54,100 --> 00:09:59,480
为教师和工作人员,然后引导我
一个奇妙的合法网页,其中

155
00:09:59,480 --> 00:10:02,300
让我给他们我的名字
和电子邮件地址,当然,

156
00:10:02,300 --> 00:10:05,090
密码,以验证
我是谁等等。

157
00:10:05,090 --> 00:10:09,330
但是,当然,由于始终是这种情况,
你到达此目标网页,

158
00:10:09,330 --> 00:10:11,370
当然,还有
至少有一个错字,

159
00:10:11,370 --> 00:10:14,840
这似乎是在指甲
任何这些诈骗的棺材。

160
00:10:14,840 --> 00:10:17,890
我们会后,或许,一些其他的
链接到这些类型的屏幕截图

161
00:10:17,890 --> 00:10:18,473
在未来。

162
00:10:18,473 --> 00:10:22,535
但我希望,大多数人
这个房间没有clicked--

163
00:10:22,535 --> 00:10:24,410
甚至,如果你点击
这样的链接,因为这,

164
00:10:24,410 --> 00:10:28,040
你还没有走得很远,
填写这些表格等等。

165
00:10:28,040 --> 00:10:30,210
事实上,这是确定的,如果你有。

166
00:10:30,210 --> 00:10:33,410
我们会尽力,今天修复,因为,
的确,今天的谈话

167
00:10:33,410 --> 00:10:34,450
有关安全性。

168
00:10:34,450 --> 00:10:36,500
>> 事实上,之一
CS50的目标是不

169
00:10:36,500 --> 00:10:38,980
这么多教你CE或
PHP或JavaScript和SQL

170
00:10:38,980 --> 00:10:41,610
或任何这些潜在的
实施细则。

171
00:10:41,610 --> 00:10:45,612
但它的授权,你作为人类
只是做出更明智的决策,因为它

172
00:10:45,612 --> 00:10:48,070
涉及到的技术下
路这样一来,无论你是

173
00:10:48,070 --> 00:10:51,370
工程师或人文主义或
科学家或任何其他的作用,

174
00:10:51,370 --> 00:10:54,970
你做明智的决定
你自己计算的使用,

175
00:10:54,970 --> 00:10:56,980
或者,如果你在一个
决策位置,

176
00:10:56,980 --> 00:10:59,250
在政治上,特别是
你正在做多,

177
00:10:59,250 --> 00:11:02,770
比一个更好的决策
很多今天的人类已经。

178
00:11:02,770 --> 00:11:04,830
我们将通过这样做
的几个实施例的方式。

179
00:11:04,830 --> 00:11:09,030
>> 首先,我非常惊讶
最近发现了以下几点。

180
00:11:09,030 --> 00:11:11,120
当然,如此的密码,
在我们大多数人

181
00:11:11,120 --> 00:11:18,030
用它来保护我们的数据 - 电子邮件,聊天,
及各种类似的资源。

182
00:11:18,030 --> 00:11:23,020
而刚刚通过的awkward--不显示
手,但耻辱尴尬的样子,

183
00:11:23,020 --> 00:11:26,600
你们有多少人使用相同的密码
在很多不同的网站的?

184
00:11:26,600 --> 00:11:28,020
>> 呵呵,好了,我们会做的手中。

185
00:11:28,020 --> 00:11:30,950
OK,所以很多你这样做。

186
00:11:30,950 --> 00:11:33,770
任何人谁这样做,只是为什么呢?

187
00:11:33,770 --> 00:11:35,078
什么?

188
00:11:35,078 --> 00:11:36,537
是吗?

189
00:11:36,537 --> 00:11:39,870
听众:这很容易记住,因为
你不必记住[听不清]。

190
00:11:39,870 --> 00:11:41,703
DAVID J.马兰:是啊,
它很容易记住。

191
00:11:41,703 --> 00:11:44,560
这是一个完全合理的,
理性的行为,

192
00:11:44,560 --> 00:11:46,920
即使风险
你把你自己

193
00:11:46,920 --> 00:11:50,540
在这些情况下,仅仅是
一个或多个这些网站的

194
00:11:50,540 --> 00:11:54,510
很容易受到黑客或
不安全或密码只是

195
00:11:54,510 --> 00:11:57,130
这么混账的猜测,
任何人都可以计算出来。

196
00:11:57,130 --> 00:11:59,850
这不仅是一个账户
损害,但在理论上,任何

197
00:11:59,850 --> 00:12:01,280
占你有在互联网上。

198
00:12:01,280 --> 00:12:04,550
所以我知道今天我可以说,没有
使用相同的密码无处不在,

199
00:12:04,550 --> 00:12:06,450
但是这是一个很大谈何容易。

200
00:12:06,450 --> 00:12:10,850
但也有技巧
减轻了特别的关注。

201
00:12:10,850 --> 00:12:14,030
>> 现在,我会发生,例如,以
使用一个名为的1Password程序。

202
00:12:14,030 --> 00:12:16,010
另一种流行的一种叫LastPass的。

203
00:12:16,010 --> 00:12:19,030
和一堆CS50人员使用的一个
或多个这些类型的工具。

204
00:12:19,030 --> 00:12:20,940
而且长话短说,
1外卖今天

205
00:12:20,940 --> 00:12:25,080
应该是的,是的,你可能有
相同的密码无处不在,

206
00:12:25,080 --> 00:12:27,260
但它很容易不再这样做。

207
00:12:27,260 --> 00:12:31,260
例如,这些天来,我知道
我的几十个或上百个可能是一

208
00:12:31,260 --> 00:12:31,910
的密码。

209
00:12:31,910 --> 00:12:33,990
我的所有其他的密码
是伪随机

210
00:12:33,990 --> 00:12:36,046
通过这些方案在这里的一个产生的。

211
00:12:36,046 --> 00:12:38,420
并概括地说,甚至
虽然大多数这些计划

212
00:12:38,420 --> 00:12:41,487
往往配备有一点成本,
你会安装一个这样的程序,

213
00:12:41,487 --> 00:12:43,820
然后你将存储所有
您的用户名和密码

214
00:12:43,820 --> 00:12:46,960
在这里面的程序
你自己的Mac或PC或诸如此类的东西,

215
00:12:46,960 --> 00:12:49,290
然后这将是
加密您的计算机上

216
00:12:49,290 --> 00:12:51,599
什么是一个希望
特别是长密码。

217
00:12:51,599 --> 00:12:54,140
所以,我有一大堆
密码为个人网站,

218
00:12:54,140 --> 00:12:56,390
然后我有一个非常
长密码,我

219
00:12:56,390 --> 00:12:59,059
用它来解锁所有的
其他密码。

220
00:12:59,059 --> 00:13:00,850
这有什么好看约
这样的软件是

221
00:13:00,850 --> 00:13:04,016
即,当你访问一个网站,是
要求你的用户名和密码,

222
00:13:04,016 --> 00:13:06,304
这些天,我不键入
我的用户名和密码,

223
00:13:06,304 --> 00:13:08,970
因为,再一次,我甚至不知道
大多数我的密码。

224
00:13:08,970 --> 00:13:12,180
我不是打键盘
快捷方式时,结果是

225
00:13:12,180 --> 00:13:15,990
要触发这个软件
提示我为我的主密码。

226
00:13:15,990 --> 00:13:18,780
那么我键入一个大
密码中,然后浏览器

227
00:13:18,780 --> 00:13:21,090
自动填充
什么我的密码。

228
00:13:21,090 --> 00:13:24,960
所以,真正的,如果你把没有别的
离今天的密码而言,

229
00:13:24,960 --> 00:13:28,440
这些软件都值得
下载或投资等等

230
00:13:28,440 --> 00:13:30,750
那你至少可以休息
特定的习惯。

231
00:13:30,750 --> 00:13:33,374
如果你是类型的
用便利贴或like--

232
00:13:33,374 --> 00:13:37,310
赔率是你至少有一个is--
这种习惯也一样,我只想说,

233
00:13:37,310 --> 00:13:38,340
应该是坏了。

234
00:13:38,340 --> 00:13:42,360
>> 现在,我偶然发现,其结果
使用该软件,因此以下。

235
00:13:42,360 --> 00:13:45,690
我订购的是食用安排,
这篮水果,最近。

236
00:13:45,690 --> 00:13:49,380
我打我的专用键盘
快捷登录到该网站。

237
00:13:49,380 --> 00:13:53,325
并且该软件引发了
弹出窗口说,你确定

238
00:13:53,325 --> 00:13:55,950
你要我自动
提交此用户名和密码?

239
00:13:55,950 --> 00:13:57,690
因为连接是不安全的。

240
00:13:57,690 --> 00:14:01,450
>> 连接不
使用HTTPS,为安全,

241
00:14:01,450 --> 00:14:04,900
使用该协议被称为
SSL,安全套接字层。

242
00:14:04,900 --> 00:14:07,640
事实上,如果你看看
本网站的左侧上方,

243
00:14:07,640 --> 00:14:12,880
它只是www.ediblearrangements.com,
没有HTTPS时,这是不那么好。

244
00:14:12,880 --> 00:14:15,480
>> 现在,我是curious--也许这
在软件只是一个错误。

245
00:14:15,480 --> 00:14:19,240
当然,一些网站喜欢
这是很多人都知道的

246
00:14:19,240 --> 00:14:24,046
至少是使用加密
或HTTPS URL来登录你进来。

247
00:14:24,046 --> 00:14:25,670
所以,我今天早上有点好奇。

248
00:14:25,670 --> 00:14:29,046
我拿出我的CS50的技能,
我打开了镀铬督察。

249
00:14:29,046 --> 00:14:30,295
它甚至不是太大的技巧。

250
00:14:30,295 --> 00:14:32,890
这只是击中了正确的键盘
快捷方式打开这件事。

251
00:14:32,890 --> 00:14:34,830
这里是一个很大的窗口
Chrome的督察。

252
00:14:34,830 --> 00:14:38,960
>> 但实际上是一个
有点悲壮和荒谬的

253
00:14:38,960 --> 00:14:40,830
在这里这两条线。

254
00:14:40,830 --> 00:14:44,570
在顶部,通知的URL
其中我的用户名和密码

255
00:14:44,570 --> 00:14:45,530
已提交。

256
00:14:45,530 --> 00:14:46,380
让我进行放大。

257
00:14:46,380 --> 00:14:47,352
正是这种在这里。

258
00:14:47,352 --> 00:14:49,060
而所有这一切是
那种索然无味,

259
00:14:49,060 --> 00:14:54,962
除了东西一路的
左侧,这与HTTP开头://。

260
00:14:54,962 --> 00:14:57,240
所以的话,好吧,也许
他们只是发送

261
00:14:57,240 --> 00:14:59,084
我的用户名,这是
没有什么大不了的。

262
00:14:59,084 --> 00:15:00,500
也许我的密码被送往。

263
00:15:00,500 --> 00:15:02,300
那会是怎样的
有趣的设计决策。

264
00:15:02,300 --> 00:15:03,100
>> 但没了。

265
00:15:03,100 --> 00:15:06,130
如果你再看看的请求
有效载荷,用户名和密码

266
00:15:06,130 --> 00:15:08,470
我sent--我嘲笑
这些向上的slide--

267
00:15:08,470 --> 00:15:10,000
在明确了实际发送。

268
00:15:10,000 --> 00:15:13,792
所以,你去这个特殊的网站,
订购食用的安排是这样,

269
00:15:13,792 --> 00:15:16,750
而事实上,很显然,这一切
那时我已经下令他们,

270
00:15:16,750 --> 00:15:19,800
您的用户名和密码
即将跨越的清晰。

271
00:15:19,800 --> 00:15:22,120
所以说实话,这是
完全不能接受的。

272
00:15:22,120 --> 00:15:26,240
而且它是如此微不足道,避免的事情
像这样的网站设计师

273
00:15:26,240 --> 00:15:27,950
而作为网站的程序员。

274
00:15:27,950 --> 00:15:31,020
>> 但外卖这里
我们作为网站的用户

275
00:15:31,020 --> 00:15:35,700
只是欣赏所有
它需要的是一个愚蠢的设计

276
00:15:35,700 --> 00:15:40,010
决策,不合理的设计决策,
所以,现在,如果你知道我的密码

277
00:15:40,010 --> 00:15:41,820
在这个“深红”
网站上,你可能已经

278
00:15:41,820 --> 00:15:44,654
刚钻进一大堆
其他网站,我现在有。

279
00:15:44,654 --> 00:15:46,570
而且也没有太多的
针对该抗辩

280
00:15:46,570 --> 00:15:48,301
比张今天早上做了其他。

281
00:15:48,301 --> 00:15:51,550
他去食用安排,
位于倒在剑桥的街道上,

282
00:15:51,550 --> 00:15:53,430
和身体上买了这个给我们。

283
00:15:53,430 --> 00:15:57,490
这是不是更安全
用在这种情况下,网站。

284
00:15:57,490 --> 00:16:02,320
>> 但细节留意的
其实什么是浏览器往上顶

285
00:16:02,320 --> 00:16:02,940
那里。

286
00:16:02,940 --> 00:16:04,690
但即使这样,也有点欺骗性。

287
00:16:04,690 --> 00:16:07,002
所以,另一个有趣
例如,维护方式

288
00:16:07,002 --> 00:16:09,960
对this--实际上,让我们
这样做first--卫冕之路

289
00:16:09,960 --> 00:16:12,540
针对这是一种技术
保安人会

290
00:16:12,540 --> 00:16:14,810
叫双因素身份验证。

291
00:16:14,810 --> 00:16:20,130
>> 有谁知道有什么办法解决
像这意味着问题?

292
00:16:20,130 --> 00:16:23,110
什么是双因素认证?

293
00:16:23,110 --> 00:16:27,320
或者换一种说法,怎么
你们很多人都在使用它?

294
00:16:27,320 --> 00:16:28,650
好了,几个害羞的人。

295
00:16:28,650 --> 00:16:29,060
但是,是的。

296
00:16:29,060 --> 00:16:29,976
我看到了你的手走了。

297
00:16:29,976 --> 00:16:31,510
什么是双因素认证?

298
00:16:31,510 --> 00:16:34,010
>> 听众:基本上,除了
要输入你的密码,

299
00:16:34,010 --> 00:16:37,390
你也有一个辅助[听不清]
通过短信发送到您的手机

300
00:16:37,390 --> 00:16:39,460
在[听不清]。

301
00:16:39,460 --> 00:16:40,460
DAVID J.马兰:没错。

302
00:16:40,460 --> 00:16:44,150
除了一些初级形式
认证的,就像一个密码,

303
00:16:44,150 --> 00:16:47,190
你问的第二
因子,其通常

304
00:16:47,190 --> 00:16:49,740
你拥有的东西
身体上的你,虽然它

305
00:16:49,740 --> 00:16:51,610
可以是其它的什么东西。

306
00:16:51,610 --> 00:16:54,630
而这一点通常是
手机这些天来,你得到

307
00:16:54,630 --> 00:16:59,200
发送一个临时短信,上面写着
“您的临时密码为12345。”

308
00:16:59,200 --> 00:17:01,280
>> 所以除了我
密码“绯红,”我也

309
00:17:01,280 --> 00:17:03,916
在任何输入
网站已发短信给我。

310
00:17:03,916 --> 00:17:06,290
或者,如果你有这样的一个
银行或投资账户,

311
00:17:06,290 --> 00:17:08,123
你有时有这些
小软件狗

312
00:17:08,123 --> 00:17:11,760
实际上有一个伪随机
内置了数生成器,

313
00:17:11,760 --> 00:17:15,849
但该装置和银行两
知道你的初始种子是什么

314
00:17:15,849 --> 00:17:19,710
使他们知道,即使在
你的小钥匙扣小码

315
00:17:19,710 --> 00:17:22,380
游行前进的每一分钟
两,改变价值观,

316
00:17:22,380 --> 00:17:25,260
这样做的价值变动
银行的服务器上

317
00:17:25,260 --> 00:17:28,620
以便它们可类似地进行认证
你,不仅你的密码,

318
00:17:28,620 --> 00:17:30,024
但该临时代码。

319
00:17:30,024 --> 00:17:31,690
现在,你可以真正做到这一点在谷歌。

320
00:17:31,690 --> 00:17:33,606
坦率地说,这是一个
良好的习惯进入,

321
00:17:33,606 --> 00:17:36,180
特别是如果你使用
Gmail的所有的时间上的浏览器。

322
00:17:36,180 --> 00:17:39,880
如果你去这个网址在这里,这是
在线为今天,然后将载玻片

323
00:17:39,880 --> 00:17:43,579
点击两步验证,
相同的实际的东西在那里。

324
00:17:43,579 --> 00:17:45,870
你会被提​​示给
他们的手机号码。

325
00:17:45,870 --> 00:17:49,660
然后,任何时候您登录
Gmail时,你会不会只问了

326
00:17:49,660 --> 00:17:53,480
您的密码,也可作
这被发送到您的手机小码

327
00:17:53,480 --> 00:17:54,190
暂时的。

328
00:17:54,190 --> 00:17:57,894
而只要你启用了Cookie,
所以只要你不明确

329
00:17:57,894 --> 00:18:00,060
注销,你只有
要做到这一点在一段时间后,

330
00:18:00,060 --> 00:18:01,870
就像当你坐下
在一台新计算机。

331
00:18:01,870 --> 00:18:05,320
>> 这里的上升空间,也就是,如果你
坐下来,在一些网吧的风格

332
00:18:05,320 --> 00:18:07,380
计算机或只是一个
朋友的电脑,甚至

333
00:18:07,380 --> 00:18:09,710
如果那个朋友
恶意或无意

334
00:18:09,710 --> 00:18:13,580
有一些键盘记录器
安装了他或她的计算机上,

335
00:18:13,580 --> 00:18:15,640
这样,你的一切
类型被记录下来,

336
00:18:15,640 --> 00:18:19,170
至少是第二个因素,即
临时代码,是短暂的。

337
00:18:19,170 --> 00:18:21,630
于是,他或她或任何人的
破坏计算机

338
00:18:21,630 --> 00:18:24,890
不能登录到您随后,
即使一切

339
00:18:24,890 --> 00:18:27,890
是脆弱的,甚至
完全加密。

340
00:18:27,890 --> 00:18:29,760
Facebook拥有这也
与该网址在这里,

341
00:18:29,760 --> 00:18:32,070
在这里您可以点击登录认证。

342
00:18:32,070 --> 00:18:35,500
所以在这里也一样,如果你不这样做
希望朋友捅人,

343
00:18:35,500 --> 00:18:40,140
你不想被戳在Facebook
或发布你的状态更新,

344
00:18:40,140 --> 00:18:42,479
双因素身份验证
这里可能是一个很好的事情。

345
00:18:42,479 --> 00:18:44,520
再有就是这个
其它技术完全,

346
00:18:44,520 --> 00:18:46,853
只是审计,这甚至
好东西对于我们人类来说,

347
00:18:46,853 --> 00:18:49,950
如果两个因素证明恼人,其中,
诚然,就可以了,或者它只是不

348
00:18:49,950 --> 00:18:53,930
可在一些网站上,最低限度
密切关注是否以及何时

349
00:18:53,930 --> 00:18:57,650
你登录的网站,如果他们
让你,是一个很好的技术,太。

350
00:18:57,650 --> 00:19:01,300
因此,Facebook的也给你这个
登录通知功能,从而

351
00:19:01,300 --> 00:19:06,240
随时随地的Facebook意识到,HM,大卫有
登录一些电脑或手机

352
00:19:06,240 --> 00:19:09,710
我们从来没有见过的前
一个IP地址,看起来比较陌生,

353
00:19:09,710 --> 00:19:12,320
他们将至少给你一个
电子邮件的任何电子邮件地址

354
00:19:12,320 --> 00:19:14,750
你有文件,说:
这是否看起来可疑的?

355
00:19:14,750 --> 00:19:17,590
如果是这样,请立即修改您的密码。

356
00:19:17,590 --> 00:19:19,610
等在那里,太,
只是审计行为

357
00:19:19,610 --> 00:19:21,940
即使你已经经过
破坏,可以至少

358
00:19:21,940 --> 00:19:25,980
在缩小窗口
你是脆弱的。

359
00:19:25,980 --> 00:19:29,910
>> 好吧,什么问题
对这些东西至今?

360
00:19:29,910 --> 00:19:35,510
今天是让所有的
你的偏执确认或否认。

361
00:19:35,510 --> 00:19:36,820
这主要是证实了,可悲的。

362
00:19:36,820 --> 00:19:37,210
是吗?

363
00:19:37,210 --> 00:19:39,223
>> 听众:[听不清]手机,
如果你的手机休息,

364
00:19:39,223 --> 00:19:41,010
然后它总是
很难verify--

365
00:19:41,010 --> 00:19:41,295
>> DAVID J.马兰:真。

366
00:19:41,295 --> 00:19:43,330
>> 听众:或者,如果你在一个不同的
国家,他们不会让你

367
00:19:43,330 --> 00:19:44,505
因为[听不清]登录。

368
00:19:44,505 --> 00:19:45,630
DAVID J.马兰:当然可以。

369
00:19:45,630 --> 00:19:48,780
所以这些是额外
你承担的费用。

370
00:19:48,780 --> 00:19:51,040
总是有这个主题
一个权衡,毕竟。

371
00:19:51,040 --> 00:19:53,748
然后,如果你失去了你的电话,
如果它打破,如果你在国外,

372
00:19:53,748 --> 00:19:56,382
或者你只是没有
信号,如3G或LTE信​​号,

373
00:19:56,382 --> 00:19:58,340
你可能不实际
能够认证。

374
00:19:58,340 --> 00:20:00,520
>> 如此反复,这两个是权衡。

375
00:20:00,520 --> 00:20:03,670
有时,它可以创建一个
很多结果为你工作。

376
00:20:03,670 --> 00:20:08,130
但它实际上取决于,然后在
什么样的预期价格给你

377
00:20:08,130 --> 00:20:10,980
什么是幸福的
完全妥协。

378
00:20:10,980 --> 00:20:15,300
>> 所以SSL,那么,这种技术是
大家普遍认为理所当然

379
00:20:15,300 --> 00:20:18,970
或者假设是存在的,尽管
这显然​​不是这样。

380
00:20:18,970 --> 00:20:23,339
你仍然可以误导
人,不过,即使是与此有关。

381
00:20:23,339 --> 00:20:24,630
所以这里有一个银行的例子。

382
00:20:24,630 --> 00:20:25,860
>> 这是美国银行。

383
00:20:25,860 --> 00:20:28,730
有一大堆的这些
在哈佛广场和超越。

384
00:20:28,730 --> 00:20:32,530
并请注意,在极顶
在屏幕上,有一个,事实上,HTTPS。

385
00:20:32,530 --> 00:20:35,370
它甚至绿色
并强调我们

386
00:20:35,370 --> 00:20:39,550
以表明这的确是
一个合法的安全网站,

387
00:20:39,550 --> 00:20:41,420
还是让我们被训练相信。

388
00:20:41,420 --> 00:20:46,416
>> 现在,除此之外,虽然
注意到,如果我们放大,

389
00:20:46,416 --> 00:20:48,790
有这个东西在这里,在这里
系统会提示您登录。

390
00:20:48,790 --> 00:20:54,920
这是什么意思挂锁权
在那里,旁边,我的用户名提示?

391
00:20:54,920 --> 00:20:57,890
这是在网站上很常见了。

392
00:20:57,890 --> 00:21:01,120
这是什么锁是什么意思?

393
00:21:01,120 --> 00:21:02,453
你看起来像你知道的。

394
00:21:02,453 --> 00:21:03,420
>> 听众:它并不意味着什么。

395
00:21:03,420 --> 00:21:04,230
>> DAVID J.马兰:这
并不意味着什么。

396
00:21:04,230 --> 00:21:07,790
这意味着,美国银行知道如何
写的HTML图像标签,对不对?

397
00:21:07,790 --> 00:21:12,080
这确实没什么意思,因为即使
我们,使用我们看的第一天

398
00:21:12,080 --> 00:21:15,760
在HTML中,可以编写了一个页面
红色背景和图像,

399
00:21:15,760 --> 00:21:18,910
如GIF或诸如此类的东西,这
恰巧看起来像一个挂锁。

400
00:21:18,910 --> 00:21:20,890
然而,这是超
在网站上常见的,

401
00:21:20,890 --> 00:21:24,000
因为我们已经被训练的假设
是,呵呵,挂锁意味着安全,

402
00:21:24,000 --> 00:21:25,760
当它真的只是意味着你了解HTML。

403
00:21:25,760 --> 00:21:28,840
>> 例如,早在一天,我可以
刚刚把这个放在我的网站,

404
00:21:28,840 --> 00:21:31,660
声称它是安全的,
并要求,有效地,

405
00:21:31,660 --> 00:21:33,590
为人们的用户名和密码。

406
00:21:33,590 --> 00:21:36,310
所以,看在网址为
至少有一个更好的线索,

407
00:21:36,310 --> 00:21:39,580
因为这是内置到Chrome浏览器
或其他浏览器,您正在使用。

408
00:21:39,580 --> 00:21:41,470
但即便如此,有时
事情都可能出错。

409
00:21:41,470 --> 00:21:45,940
而事实上,你可能不总是
看HTTPS,更不用说为绿色。

410
00:21:45,940 --> 00:21:48,126
>> 有什么你永远
看到这样的画面?

411
00:21:48,126 --> 00:21:50,000
你可能有,实际上,
此前在十月

412
00:21:50,000 --> 00:21:54,740
当我忘了支付我们
SSL证书,因为它叫,

413
00:21:54,740 --> 00:21:58,400
我们正在寻找像
此为一两个小时。

414
00:21:58,400 --> 00:22:01,830
所以,你可能已经看到的东西
像这样,用删除线,

415
00:22:01,830 --> 00:22:05,240
像红色线,通过
在URL中的协议

416
00:22:05,240 --> 00:22:08,010
或某种画面的那
至少你诫勉

417
00:22:08,010 --> 00:22:09,760
对于试图进一步进行。

418
00:22:09,760 --> 00:22:12,540
而谷歌在此邀请
你回去的安全。

419
00:22:12,540 --> 00:22:17,120
>> 现在,在这种情况下,这仅仅意味着
我们采用了SSL证书,

420
00:22:17,120 --> 00:22:22,220
大,数学有用的电话号码
了与CS50的服务器相关联,

421
00:22:22,220 --> 00:22:23,949
不再有效。

422
00:22:23,949 --> 00:22:26,490
而事实上,我们可以模拟
这一点,因为你可以在你的笔记本电脑。

423
00:22:26,490 --> 00:22:30,270
如果我进入Chrome浏览器在这里,
让我们去facebook.com,

424
00:22:30,270 --> 00:22:32,230
它看起来像这样是安全的。

425
00:22:32,230 --> 00:22:36,910
但现在让我继续前进,
这里的挂锁点击。

426
00:22:36,910 --> 00:22:40,030
>> 并让我去连接,
证书信息。

427
00:22:40,030 --> 00:22:42,020
而事实上,你会
在这里看到的是一堆

428
00:22:42,020 --> 00:22:46,160
关于低级别的细节
谁facebook.com确实是。

429
00:22:46,160 --> 00:22:49,380
看来,他们已经支付的钱
一家名为也许DigiCert高

430
00:22:49,380 --> 00:22:54,420
保证已经承诺
告诉世界其他地区

431
00:22:54,420 --> 00:22:57,250
即,如果一个浏览器有史以来看到
一个certificate--你能想到的

432
00:22:57,250 --> 00:23:00,291
它字面上的证书
看起来在顶部的俗气的事

433
00:23:00,291 --> 00:23:04,360
left--那么facebook.com是谁他们说
是这样,因为这么长的时间,当

434
00:23:04,360 --> 00:23:07,160
你访问一个网站,像
cs50.harvard.edu或facebook.com

435
00:23:07,160 --> 00:23:11,880
或gmail.com使用HTTPS
网址,幕后,

436
00:23:11,880 --> 00:23:15,190
有这种交易
自动发生

437
00:23:15,190 --> 00:23:18,060
对你来说,即
facebook.com,在这种情况下,

438
00:23:18,060 --> 00:23:22,150
发送到浏览器的
所谓的SSL证书,或者更确切地说,

439
00:23:22,150 --> 00:23:23,380
它的公钥,

440
00:23:23,380 --> 00:23:25,600
然后你的浏览器
使用公钥

441
00:23:25,600 --> 00:23:29,600
随后发送加密
业务到和从它。

442
00:23:29,600 --> 00:23:32,360
>> 但有这个整体的层次结构
在公司的世界

443
00:23:32,360 --> 00:23:36,430
你付钱给谁都会
然后证明,在数字意义上说,

444
00:23:36,430 --> 00:23:41,330
你确实是facebook.com或
您的服务器确实是cs50.harvard.edu。

445
00:23:41,330 --> 00:23:44,580
并内置了浏览器,如
Chrome和IE浏览器和Firefox,

446
00:23:44,580 --> 00:23:48,260
是所有这些的列表
所谓的证书颁发机构

447
00:23:48,260 --> 00:23:51,360
被授权
微软与谷歌和Mozilla

448
00:23:51,360 --> 00:23:55,410
确认或否认
facebook.com是谁也说是真的。

449
00:23:55,410 --> 00:23:57,430
但美中不足的是,
这些东西都过期。

450
00:23:57,430 --> 00:24:02,670
事实上,Facebook的样子
到期明年10月,2015年。

451
00:24:02,670 --> 00:24:06,490
>> 所以,我们实际上可以模仿,如果我这个
走在我的Mac到我的系统偏好设置,

452
00:24:06,490 --> 00:24:11,070
我进入的日期和时间,
我进入日期和时间在这里,

453
00:24:11,070 --> 00:24:17,190
我解开这个这里 - 幸运的是,
我们并没有透露密码,这个时间 - 

454
00:24:17,190 --> 00:24:20,660
现在我去取消选中此。

455
00:24:20,660 --> 00:24:25,660
让我们actually--哎呀,这是
不一样有趣的事情了。

456
00:24:25,660 --> 00:24:30,140
我们是字面上的未来,现在,
这意味着这是2020年是怎样的。

457
00:24:30,140 --> 00:24:36,360
如果我现在重新加载page--
让我们做它Ingognito mode--

458
00:24:36,360 --> 00:24:40,910
如果我刷新页面,我们走吧。

459
00:24:40,910 --> 00:24:45,820
>> 所以,现在,我认为电脑
这是2020年的,但我的浏览器

460
00:24:45,820 --> 00:24:49,810
知道这个证书
Facebook的到期,当然,在2015年。

461
00:24:49,810 --> 00:24:51,360
因此,它给我这个红的消息。

462
00:24:51,360 --> 00:24:53,550
现在,幸运的是,浏览器
像Chrome浏览器反倒

463
00:24:53,550 --> 00:24:55,480
使得它相当困难的
尽管如此进行。

464
00:24:55,480 --> 00:24:57,300
他们确实想要我
回到安全。

465
00:24:57,300 --> 00:25:00,550
>> 如果我点击这里前进,它的
要告诉我一些更多的细节。

466
00:25:00,550 --> 00:25:02,580
如果我真的想
继续,他们会告诉

467
00:25:02,580 --> 00:25:06,250
我去facebook.com,这一点,
再次,不安全的,在该点

468
00:25:06,250 --> 00:25:08,310
我去看看Facebook的网页,类似这样的。

469
00:25:08,310 --> 00:25:10,080
但是其他的东西
似乎是断裂。

470
00:25:10,080 --> 00:25:12,825
什么是可能打破这一点?

471
00:25:12,825 --> 00:25:13,700
听众:JavaScript的。

472
00:25:13,700 --> 00:25:15,540
DAVID J.马兰:像
Java脚本和/或CSS

473
00:25:15,540 --> 00:25:17,460
文件也同样
遇到这个错误。

474
00:25:17,460 --> 00:25:19,830
所以这只是一个糟糕的大局。

475
00:25:19,830 --> 00:25:24,790
但这里的问题是,至少有
Facebook的确实启用了SSL

476
00:25:24,790 --> 00:25:30,040
为他们的服务器,因为许多网站,
这样做,但不必是所有。

477
00:25:30,040 --> 00:25:33,360
>> 但是,这不是一个人在这里的外卖。

478
00:25:33,360 --> 00:25:36,040
事实证明,即使是SSL
已证实

479
00:25:36,040 --> 00:25:37,810
是不安全的某种方式。

480
00:25:37,810 --> 00:25:40,400
之类的,所以我暗示,SSL,不错。

481
00:25:40,400 --> 00:25:44,250
寻找HTTPS URL和生活
好,因为你所有的HTTP流量

482
00:25:44,250 --> 00:25:46,180
和标头和内容被加密。

483
00:25:46,180 --> 00:25:49,560
>> 没有人能在拦截
中间,除了所谓的人

484
00:25:49,560 --> 00:25:50,454
在中间。

485
00:25:50,454 --> 00:25:52,870
这是一种通用的技术
在安全名扬四海

486
00:25:52,870 --> 00:25:54,420
作为一个中间人攻击。

487
00:25:54,420 --> 00:25:57,067
假设你是这个小
笔记本电脑在这里在左边,

488
00:25:57,067 --> 00:25:59,900
并假设你想参观
在右边的服务器那边,

489
00:25:59,900 --> 00:26:00,990
就像facebook.com。

490
00:26:00,990 --> 00:26:03,940
>> 但是假设在
你和Facebook之间,

491
00:26:03,940 --> 00:26:07,750
是一大堆其他服务器和
设备,如交换机和路由器,

492
00:26:07,750 --> 00:26:11,530
DNS服务器,DHCP服务器,这
其中没有我们控制。

493
00:26:11,530 --> 00:26:15,280
它可能是由星巴克来控制
或者哈佛或康卡斯特等。

494
00:26:15,280 --> 00:26:18,090
好吧,假设某人
恶意,在网络上,

495
00:26:18,090 --> 00:26:20,800
在你和Facebook之间,
能告诉你

496
00:26:20,800 --> 00:26:24,740
,你知道是什么,IP地址
Facebook是不是你认为它是。

497
00:26:24,740 --> 00:26:26,250
这是该IP代替。

498
00:26:26,250 --> 00:26:28,740
>> 所以您的浏览器
被骗请求

499
00:26:28,740 --> 00:26:30,750
从另一个交通
电脑完全。

500
00:26:30,750 --> 00:26:35,350
好吧,假设电脑
简单地看所有

501
00:26:35,350 --> 00:26:38,859
交通的你从请求
Facebook和所有的网页

502
00:26:38,859 --> 00:26:40,400
你是从Facebook的要求。

503
00:26:40,400 --> 00:26:45,700
和任何时间看到了你的流量
与HTTPS开头的网址,

504
00:26:45,700 --> 00:26:49,250
它动态地,在
飞,将其重写为HTTP。

505
00:26:49,250 --> 00:26:53,490
而且任何时候它看到的位置
头,结肠的位置,

506
00:26:53,490 --> 00:26:55,930
就像我们使用重定向
该用户的那些,也

507
00:26:55,930 --> 00:27:00,690
可这个男人的改变
从HTTPS中间HTTP。

508
00:27:00,690 --> 00:27:04,170
>> 因此,即使你本人会
认为你是在真正的Facebook,

509
00:27:04,170 --> 00:27:07,860
它不是很难的
对手有物理访问

510
00:27:07,860 --> 00:27:10,630
您的网络简单地
返回页面你,

511
00:27:10,630 --> 00:27:12,650
看起来像Gmail一样,那
看起来像Facebook,

512
00:27:12,650 --> 00:27:14,880
而事实上网址是
同样的,因为他们是

513
00:27:14,880 --> 00:27:19,410
假装有相同的主机名
因为DNS的一些开采

514
00:27:19,410 --> 00:27:21,340
或一些其它系统那样。

515
00:27:21,340 --> 00:27:23,894
和的结果,那么,是
我们人类唯一可能

516
00:27:23,894 --> 00:27:26,810
意识到这一点,OK,这看起来像
Gmail或至少是旧版本,

517
00:27:26,810 --> 00:27:29,480
正如这张幻灯片从
旧的演示文稿。

518
00:27:29,480 --> 00:27:34,250
但它看起来像this--
http://www.google.com。

519
00:27:34,250 --> 00:27:37,370
>> 所以在这里也一样,现实
是,你们有多少人,

520
00:27:37,370 --> 00:27:41,290
当你去到Facebook或Gmail或任何
网站,你知道一点

521
00:27:41,290 --> 00:27:47,060
关于SSL,你们有多少人身体
输入https://,然后网站

522
00:27:47,060 --> 00:27:48,990
名称,输入。

523
00:27:48,990 --> 00:27:52,940
我们中的大多数只需要输入一样,CS50,
按Enter键或F-A为Facebook

524
00:27:52,940 --> 00:27:54,770
并按下回车键,让它自动完成。

525
00:27:54,770 --> 00:27:57,620
但在幕后,如果
你看你的HTTP流量,

526
00:27:57,620 --> 00:28:00,090
有可能是一大堆
这些位置的头

527
00:28:00,090 --> 00:28:03,580
正在向您发送
Facebook上www.facebook.com

528
00:28:03,580 --> 00:28:07,250
到https://www.facebook.com。

529
00:28:07,250 --> 00:28:12,300
>> 所以这是一个或多个HTTP事务
在您的信息是完全

530
00:28:12,300 --> 00:28:15,102
以明文方式传输,不
加密任何责任。

531
00:28:15,102 --> 00:28:17,810
现在,这可能不是这么大的
如果处理所有你想要做的

532
00:28:17,810 --> 00:28:20,980
正在访问的网页,你不
发送您的用户名和密码。

533
00:28:20,980 --> 00:28:23,130
但是,什么是它的下面
引擎盖,尤其是

534
00:28:23,130 --> 00:28:28,130
对于基于PHP的网站也
被来回发送时

535
00:28:28,130 --> 00:28:33,820
您访问某些网页,如果
该网站的用途,比如说,PHP

536
00:28:33,820 --> 00:28:37,370
并实现像pset7功能?

537
00:28:37,370 --> 00:28:40,840
什么被送到了来回
在您的HTTP标头给你

538
00:28:40,840 --> 00:28:44,903
访问这个美丽
有用的超全球在PHP?

539
00:28:44,903 --> 00:28:45,710
>> 听众:饼干。

540
00:28:45,710 --> 00:28:49,020
>> DAVID J.马兰:饼干,
特别是PHP SESS ID的Cookie。

541
00:28:49,020 --> 00:28:53,100
所以记得,如果我们去,
比方说,cs50.harvard.edu再次,

542
00:28:53,100 --> 00:28:56,440
但是这一次,让我们打开了
网络选项卡,而现在,在这里,

543
00:28:56,440 --> 00:29:01,570
让我们从字面上只是去
到http://cs50.harvard.edu

544
00:29:01,570 --> 00:29:03,030
然后按Enter键。

545
00:29:03,030 --> 00:29:05,520
再看看屏幕到这里。

546
00:29:05,520 --> 00:29:09,600
请注意,我们确实得到了
回301永久移动

547
00:29:09,600 --> 00:29:12,820
消息,这意味着
有一个位置头在这里,

548
00:29:12,820 --> 00:29:15,610
这是目前我重定向到HTTPS。

549
00:29:15,610 --> 00:29:21,330
>> 但美中不足的是,如果我已经有了
用脚踩我的手几乎一个cookie,

550
00:29:21,330 --> 00:29:25,890
正如我们以前讨论过,并
我对人类的那种在不知不觉中

551
00:29:25,890 --> 00:29:29,090
只需访问不安全
版本和我的浏览器需要它

552
00:29:29,090 --> 00:29:34,020
在自身显示为邮戳
第一请求,这是通过HTTP,

553
00:29:34,020 --> 00:29:36,610
在中间的任何人,任何
对手在中间,

554
00:29:36,610 --> 00:29:39,380
理论上可以只看到
这些HTTP头,就

555
00:29:39,380 --> 00:29:40,980
就像我们在看他们在这里。

556
00:29:40,980 --> 00:29:43,310
这是唯一的一次,你
说话的HTTPS

557
00:29:43,310 --> 00:29:47,780
网址这是否邮戳本身得到
加密的,一拉或撒的V @ genere,

558
00:29:47,780 --> 00:29:50,500
但与票友算法完全。

559
00:29:50,500 --> 00:29:53,611
所以在这里也一样,即使
网站使用HTTPS,

560
00:29:53,611 --> 00:29:56,860
我们人类已经习惯于,谢谢
自动完成等技术,

561
00:29:56,860 --> 00:29:59,827
到别想
的潜在影响。

562
00:29:59,827 --> 00:30:01,160
现在,有办法解决这个。

563
00:30:01,160 --> 00:30:03,140
例如,许多
网站可以被配置

564
00:30:03,140 --> 00:30:05,848
这样一来,一旦你有这一手
邮票,你可以告诉浏览器,

565
00:30:05,848 --> 00:30:07,750
这个邮戳是唯一的
SSL连接。

566
00:30:07,750 --> 00:30:11,702
浏览器不应该存在
它给我,除非它是通过SSL。

567
00:30:11,702 --> 00:30:13,410
但很多网站
不打扰这一点。

568
00:30:13,410 --> 00:30:17,260
和很多网站明显
甚至不使用SSL打扰的。

569
00:30:17,260 --> 00:30:20,540
>> 因此,对于更多的,有实际
在此演示文稿甚至更多的污垢

570
00:30:20,540 --> 00:30:24,010
一个老乡给的所谓的黑
帽大会在几年前,

571
00:30:24,010 --> 00:30:26,468
其中,甚至还有其他
恶意招数人都用过。

572
00:30:26,468 --> 00:30:28,630
您可能还记得这个
一个图标,对其中的概念

573
00:30:28,630 --> 00:30:32,270
就像一个小的标志,是
通常在浏览器的窗口中。

574
00:30:32,270 --> 00:30:34,610
那么,什么是
坏人之间的共同点是

575
00:30:34,610 --> 00:30:36,340
使看起来像什么晶圆厂的图标?

576
00:30:36,340 --> 00:30:39,054

577
00:30:39,054 --> 00:30:39,970
听众:[听不清]。

578
00:30:39,970 --> 00:30:40,280
DAVID J.马兰:再说一遍吗?

579
00:30:40,280 --> 00:30:41,490
听众:该网站。

580
00:30:41,490 --> 00:30:42,130
DAVID J.马兰:不是一个网站。

581
00:30:42,130 --> 00:30:43,394
所以,网站图标,小小的图标。

582
00:30:43,394 --> 00:30:45,560
什么是最
恶意操纵的事情

583
00:30:45,560 --> 00:30:47,832
你可以让你的网站的
默认的图标是什么样子?

584
00:30:47,832 --> 00:30:48,790
听众:绿色锁。

585
00:30:48,790 --> 00:30:49,080
DAVID J.马兰:那是什么?

586
00:30:49,080 --> 00:30:50,160
听众:一只绿色的小锁。

587
00:30:50,160 --> 00:30:51,960
DAVID J.马兰:像
一个绿色的锁,正好。

588
00:30:51,960 --> 00:30:55,242
所以,你可以有这样的审美
一只绿色的小挂锁,

589
00:30:55,242 --> 00:30:57,950
暗示走向世界,哦,我们是
固定的时候,再次,所有这意味着

590
00:30:57,950 --> 00:31:00,210
是,你知道一些HTML。

591
00:31:00,210 --> 00:31:02,895
所以,会话劫持
指的正是这一点。

592
00:31:02,895 --> 00:31:05,936
如果你有别人谁的种
在这里嗅探电波在这个房间

593
00:31:05,936 --> 00:31:09,150
或具有物理访问
网络,可以看到你的cookies,

594
00:31:09,150 --> 00:31:12,152
他或她可以抢了
PHP SESS ID的Cookie。

595
00:31:12,152 --> 00:31:13,860
然后,如果它们
足够精明,知道

596
00:31:13,860 --> 00:31:18,200
如何在发送的cookie作为自己
只是通过复制该值邮戳

597
00:31:18,200 --> 00:31:20,860
和发送的HTTP标头,
一个人可以很容易地

598
00:31:20,860 --> 00:31:23,510
登录到任何的Facebook
帐户或Gmail帐户

599
00:31:23,510 --> 00:31:27,355
或Twitter帐户在这里,开
在房间里,如果你不使用SSL

600
00:31:27,355 --> 00:31:31,500
如果网站是
不使用SSL正确。

601
00:31:31,500 --> 00:31:33,690
>> 因此,让我们过渡到另一个。

602
00:31:33,690 --> 00:31:34,700
所以另一个真实的故事。

603
00:31:34,700 --> 00:31:38,680
而这恰恰打破了
一两个星期前的新闻。

604
00:31:38,680 --> 00:31:41,520
Verizon公司一直在做
一个很邪恶的事情,

605
00:31:41,520 --> 00:31:45,110
而作为最优秀的人所知道的,
至少自2012年,由此,

606
00:31:45,110 --> 00:31:51,550
当你通过Veri​​zon的网站访问
蜂窝电话,无论生产它是

607
00:31:51,550 --> 00:31:54,150
他们一直振振有词,
随着故事的推移,

608
00:31:54,150 --> 00:31:59,890
注入到所有的HTTP
交通自身的HTTP标头。

609
00:31:59,890 --> 00:32:04,040
而这头看起来
像this-- X-UIDH。

610
00:32:04,040 --> 00:32:06,465
UID就像是一个独特的
标识符或用户ID。

611
00:32:06,465 --> 00:32:09,660
和X只是意味着这是一个自定义
头,这不是标准的。

612
00:32:09,660 --> 00:32:11,720
>> 但是,这是什么意思
是的,如果我拉起来,

613
00:32:11,720 --> 00:32:14,640
例如,任何网站
我的手机上这里 - 

614
00:32:14,640 --> 00:32:18,310
而我使用Verizon公司作为我carrier--
即使我的浏览器可能无法

615
00:32:18,310 --> 00:32:21,110
要发送此HTTP
头,Verizon公司,尽快

616
00:32:21,110 --> 00:32:23,650
在信号到达其
手机塔的地方,

617
00:32:23,650 --> 00:32:28,187
已经有一段时间这个注射
头为我们所有的HTTP流量。

618
00:32:28,187 --> 00:32:29,020
他们为什么要这么做呢?

619
00:32:29,020 --> 00:32:31,920
想必跟踪的原因,
广告的原因。

620
00:32:31,920 --> 00:32:36,280
>> 但鲁钝的设计决策
这里是一个HTTP头,

621
00:32:36,280 --> 00:32:41,090
因为你们知道,从pset6,
接收到任何网络服务器

622
00:32:41,090 --> 00:32:42,540
您所请求的流量。

623
00:32:42,540 --> 00:32:44,248
所以,这一切的时候,如果
你已经访问过

624
00:32:44,248 --> 00:32:48,019
Facebook或Gmail或任何网站
不使用SSL的所有时间 - 

625
00:32:48,019 --> 00:32:49,810
而实际上,这些
2幸运的是,现在do--

626
00:32:49,810 --> 00:32:52,670
但其他网站
不使用SSL的时候,

627
00:32:52,670 --> 00:32:54,930
Verizon已经基本
被种植,强行,

628
00:32:54,930 --> 00:32:58,180
所有的邮戳我们
手,即使我们看不到,

629
00:32:58,180 --> 00:33:00,330
而是,端网站做。

630
00:33:00,330 --> 00:33:02,890
因此它没有被该
任何人都很难在互联网上

631
00:33:02,890 --> 00:33:05,245
运行一个Web服务器
意识到,哦,这是大卫,

632
00:33:05,245 --> 00:33:09,340
或者,哦,这是达文,即使我们
关于严格清理我们的cookie,

633
00:33:09,340 --> 00:33:10,772
因为它不是来自我们走来。

634
00:33:10,772 --> 00:33:11,980
它是由运营商来了。

635
00:33:11,980 --> 00:33:14,896
>> 他们查找您的电话号码
然后说,哦,这是大卫。

636
00:33:14,896 --> 00:33:18,890
让我注入了独特的标识符,以便
我们的广告商或谁可以

637
00:33:18,890 --> 00:33:19,850
追踪此。

638
00:33:19,850 --> 00:33:23,769
所以,这其实是非常,
非常,非常糟糕,令人咋舌。

639
00:33:23,769 --> 00:33:26,060
我会鼓励你
一起来看看,例如,

640
00:33:26,060 --> 00:33:29,950
在此URL,这是我应该放弃
其实,我尝试这样做今天早上。

641
00:33:29,950 --> 00:33:31,970
我写了一个小脚本,
把它在这个网址,

642
00:33:31,970 --> 00:33:34,770
参观它与我自己的Verizon
转弯的Wi-Fi关闭后手机。

643
00:33:34,770 --> 00:33:38,010
所以,你必须关闭Wi-Fi关闭,使
你使用3G或LTE等。

644
00:33:38,010 --> 00:33:40,010
然后,如果你访问
此URL,这一切的脚本

645
00:33:40,010 --> 00:33:41,770
不为你们,如果
你想打,

646
00:33:41,770 --> 00:33:45,380
是它吐出来的HTTP报头
您的手机发送到我们​​的服务器。

647
00:33:45,380 --> 00:33:48,510
实际上我在公平,做
没有看到这个今天上午,这

648
00:33:48,510 --> 00:33:51,430
让我觉得要么在本地
手机塔我连接到

649
00:33:51,430 --> 00:33:55,160
或者诸如此类的东西没有做,或者他们已经
支持暂时关闭这样做的。

650
00:33:55,160 --> 00:33:58,160
但对于更多信息,
要前往该网址在这里。

651
00:33:58,160 --> 00:34:00,680
>> 现在到了this--这
漫画可能是有意义的。

652
00:34:00,680 --> 00:34:03,530

653
00:34:03,530 --> 00:34:04,030
不是吗?

654
00:34:04,030 --> 00:34:04,530
行。

655
00:34:04,530 --> 00:34:05,390
行。

656
00:34:05,390 --> 00:34:06,310
那死了。

657
00:34:06,310 --> 00:34:07,240
行。

658
00:34:07,240 --> 00:34:11,330
>> 因此,让我们来看看几个比较
攻击,如果只是为了提高知名度

659
00:34:11,330 --> 00:34:13,179
再提供一对夫妇
可能的解决方案

660
00:34:13,179 --> 00:34:14,430
让你更加留心。

661
00:34:14,430 --> 00:34:17,305
这一次我们谈到了其他的
天,但没有给它提供一个名称。

662
00:34:17,305 --> 00:34:22,360
这是一个跨站点请求伪造,这
是说过分花哨的方式

663
00:34:22,360 --> 00:34:26,489
你欺骗用户点击
像这样的URL,这其中的技巧

664
00:34:26,489 --> 00:34:28,280
成一些行为
他们并没有打算。

665
00:34:28,280 --> 00:34:30,710
>> 在这种情况下,这似乎
是为了要欺骗我

666
00:34:30,710 --> 00:34:32,920
为卖我的股份的谷歌。

667
00:34:32,920 --> 00:34:36,810
这将成功的话
我pset7的程序员,

668
00:34:36,810 --> 00:34:40,409
有没有做过什么?

669
00:34:40,409 --> 00:34:44,739
或者更确切地说,更一般地,在什么
案例我是容易受到攻击

670
00:34:44,739 --> 00:34:49,460
如果有人招数其他用户
点击进入这样的网址是什么?

671
00:34:49,460 --> 00:34:49,960
是吗?

672
00:34:49,960 --> 00:34:52,500
>> 听众:你不辨
与GET和POST。

673
00:34:52,500 --> 00:34:52,760
>> DAVID J.马兰:好。

674
00:34:52,760 --> 00:34:54,850
如果我们不区分
GET和POST之间,

675
00:34:54,850 --> 00:34:57,950
而事实上,如果我们允许
GET卖东西,

676
00:34:57,950 --> 00:35:00,284
我们邀请这类攻击。

677
00:35:00,284 --> 00:35:01,950
但是,我们仍然可以有所缓解了。

678
00:35:01,950 --> 00:35:04,283
我说:我认为,
上周,亚马逊至少

679
00:35:04,283 --> 00:35:08,180
试图用技术减轻这种
这是非常简单的。

680
00:35:08,180 --> 00:35:11,860
会是什么明智之举
这样做是你的服务器上,

681
00:35:11,860 --> 00:35:14,652
而不是只一味地卖
任何符号,用户类型?

682
00:35:14,652 --> 00:35:15,984
听众:各种各样的确认?

683
00:35:15,984 --> 00:35:19,320
DAVID J.马兰:确认画面,
一些涉及人​​机交互

684
00:35:19,320 --> 00:35:21,300
让我不得不
做出主观判断,

685
00:35:21,300 --> 00:35:23,930
即使我天真地点击
看起来像这样一个链接

686
00:35:23,930 --> 00:35:27,760
带我到细胞屏幕,在
至少让我证实或否认。

687
00:35:27,760 --> 00:35:32,460
但并不是一种罕见的攻击,尤其是
在所谓的网络钓鱼或垃圾邮件一样

688
00:35:32,460 --> 00:35:33,280
攻击。

689
00:35:33,280 --> 00:35:34,890
>> 现在,这一个是多了几分含蓄。

690
00:35:34,890 --> 00:35:37,060
这是一个跨站点脚本攻击。

691
00:35:37,060 --> 00:35:39,250
而出现这种情况,如果你的
网站不使用

692
00:35:39,250 --> 00:35:41,260
用htmlspecialchars的等价物。

693
00:35:41,260 --> 00:35:45,160
并且它以用户输入的,只是
盲目地将其注入到一个网页,

694
00:35:45,160 --> 00:35:48,170
与打印或回声,with--
again--调用出来的东西

695
00:35:48,170 --> 00:35:49,710
喜欢用htmlspecialchars。

696
00:35:49,710 --> 00:35:52,602
>> 因此,假设在网站上
问题是vulnerable.com。

697
00:35:52,602 --> 00:35:55,620
并假设它接受
一个叫Q参数。

698
00:35:55,620 --> 00:35:59,040
看看会发生什么
如果我真的,坏家伙,

699
00:35:59,040 --> 00:36:02,360
键入或欺骗用户
参观看起来像this--网址

700
00:36:02,360 --> 00:36:05,900
Q =开放的脚本标签,关闭脚本标记。

701
00:36:05,900 --> 00:36:08,480
又一次,我假设
这vulnerable.com不

702
00:36:08,480 --> 00:36:11,740
要开启危险
像开括号字符

703
00:36:11,740 --> 00:36:15,570
成HTML实体中,
符号,L-T,分号的事

704
00:36:15,570 --> 00:36:17,090
你可能已经看到过。

705
00:36:17,090 --> 00:36:18,900
>> 但是,什么是脚本
或JavaScript代码

706
00:36:18,900 --> 00:36:21,160
我试图欺骗
用户进入执行?

707
00:36:21,160 --> 00:36:25,420
好吧,指的document.location
我的浏览器的当前地址。

708
00:36:25,420 --> 00:36:29,400
所以,如果我做的document.location =,
这让我重定向用户

709
00:36:29,400 --> 00:36:30,830
在JavaScript中到另一个网站。

710
00:36:30,830 --> 00:36:34,290
这就像我们的PHP函数
重定向,但是在JavaScript中完成的。

711
00:36:34,290 --> 00:36:35,900
>> 我在哪里要发送的用户?

712
00:36:35,900 --> 00:36:40,110
那么,显然,badguy.com/log.php,
这是一些脚本,显然,

713
00:36:40,110 --> 00:36:43,530
坏人写的,这需要
一个名为cookie的参数。

714
00:36:43,530 --> 00:36:46,790
>> 和通知,我该怎么
似乎是串联

715
00:36:46,790 --> 00:36:49,190
上了等号结束了吗?

716
00:36:49,190 --> 00:36:52,030
嗯,这东西
说的document.cookie。

717
00:36:52,030 --> 00:36:53,320
我们还没有谈到这一点。

718
00:36:53,320 --> 00:36:55,730
但事实证明,在
JavaScript中,就像在PHP中,

719
00:36:55,730 --> 00:36:59,770
您可以访问所有的cookies
您的浏览器实际使用。

720
00:36:59,770 --> 00:37:02,180
>> 所以这一块的效果
行的代码,如果用户

721
00:37:02,180 --> 00:37:06,440
被诱骗点击此链接
与网站vulnerable.com不

722
00:37:06,440 --> 00:37:10,000
与用htmlspecialchars转义,
就是你刚才有效

723
00:37:10,000 --> 00:37:13,660
上传到log.php所有的饼干。

724
00:37:13,660 --> 00:37:17,300
而这并不总是那么有问题的,
除非其中的一个饼干

725
00:37:17,300 --> 00:37:20,040
是你的会话ID,您
所谓的邮戳,该

726
00:37:20,040 --> 00:37:26,470
指badguy.com可以让他或她自己
的HTTP请求,发送该同一手

727
00:37:26,470 --> 00:37:30,210
邮票,同样的饼干头,
并登录到任何网站

728
00:37:30,210 --> 00:37:33,680
你来访,这在
这种情况下是vulnerable.com。

729
00:37:33,680 --> 00:37:35,940
这是一个跨站点脚本
攻击感

730
00:37:35,940 --> 00:37:38,130
那种认为你欺骗
一个网站到算命

731
00:37:38,130 --> 00:37:43,560
一些信息其他网站
它不应该,事实上,有机会获得。

732
00:37:43,560 --> 00:37:46,510
>> 好了,准备好一
其他令人担忧的细节?

733
00:37:46,510 --> 00:37:49,970
好吧,这个世界是一个
可怕的地方,所以合法。

734
00:37:49,970 --> 00:37:52,480
下面是一个简单的
JavaScript的例子是

735
00:37:52,480 --> 00:37:54,847
在今天的源代码
叫地理位置0和1。

736
00:37:54,847 --> 00:37:56,930
还有一对夫妇
这次网上演练。

737
00:37:56,930 --> 00:37:59,920
>> 而且它的下面,如果我
在Chrome浏览器中打开此网页。

738
00:37:59,920 --> 00:38:04,590
它首先不执行任何操作。

739
00:38:04,590 --> 00:38:07,300
OK,我们将再次尝试此。

740
00:38:07,300 --> 00:38:07,800
呵呵。

741
00:38:07,800 --> 00:38:10,990

742
00:38:10,990 --> 00:38:13,370
不,它应该做的事情。

743
00:38:13,370 --> 00:38:16,500
OK,袖手旁观。

744
00:38:16,500 --> 00:38:18,200
>> 让我们来试试这一次。

745
00:38:18,200 --> 00:38:21,285

746
00:38:21,285 --> 00:38:21,785
[听不清]

747
00:38:21,785 --> 00:38:26,941

748
00:38:26,941 --> 00:38:29,444
嗯,好吧,不知道为什么
the--哦,家电

749
00:38:29,444 --> 00:38:31,360
可能丢失网络连接
访问由于某种原因。

750
00:38:31,360 --> 00:38:32,840
好吧,那么发生在我身上了。

751
00:38:32,840 --> 00:38:34,650
>> 好吧,这样的通知
什么是怎么回事。

752
00:38:34,650 --> 00:38:37,300
这个神秘的前瞻性URL,这
是CS50的服务器只有一个,

753
00:38:37,300 --> 00:38:41,130
想用我的电脑
位置,就像物理上它的意思。

754
00:38:41,130 --> 00:38:45,160
而事实上,如果我点击
让,让我们看看会发生什么。

755
00:38:45,160 --> 00:38:49,030
很显然,这是我当前的纬度
纵坐标向下

756
00:38:49,030 --> 00:38:51,660
一个相当不错的解决方案。

757
00:38:51,660 --> 00:38:53,310
>> 所以,我怎么会在这得到什么?

758
00:38:53,310 --> 00:38:57,620
请问这个网站,像CS50服务器,
知道身体在世界何处

759
00:38:57,620 --> 00:38:59,600
我,更别说与精度。

760
00:38:59,600 --> 00:39:01,990
好吧,原来out--就让我们
看网页的source--

761
00:39:01,990 --> 00:39:05,280
在这里是一堆HTML的
首先有this--底部

762
00:39:05,280 --> 00:39:09,080
身体的onload =“定位”那些 - 
只是一个功能,我写。

763
00:39:09,080 --> 00:39:11,840
>> 而我说,装上
页面,调用物理定位。

764
00:39:11,840 --> 00:39:13,750
再没有什么
在体内,因为

765
00:39:13,750 --> 00:39:16,270
在页的头部,
注意我这里有。

766
00:39:16,270 --> 00:39:18,090
这是我的大地定位功能。

767
00:39:18,090 --> 00:39:23,560
而这仅仅是一些错误checking--
如果navigator.geolocation的类型

768
00:39:23,560 --> 00:39:24,490
是不是不确定的。

769
00:39:24,490 --> 00:39:26,240
因此,JavaScript有这
机制,在那里你

770
00:39:26,240 --> 00:39:28,270
可以说,什么是
这个变量的类型?

771
00:39:28,270 --> 00:39:30,790
如果它没有undefined--
这意味着它是一些value--

772
00:39:30,790 --> 00:39:35,940
我要打电话
navigator.geolocation.getCurrentPosition

773
00:39:35,940 --> 00:39:37,230
然后回调。

774
00:39:37,230 --> 00:39:37,750
>> 这是什么?

775
00:39:37,750 --> 00:39:39,916
所以在一般情况下,什么是一
回调,只是要清楚吗?

776
00:39:39,916 --> 00:39:42,890
你可能曾经遇到过
这已经pset8。

777
00:39:42,890 --> 00:39:44,790
回调是一个通用的
术语做什么的?

778
00:39:44,790 --> 00:39:48,430

779
00:39:48,430 --> 00:39:49,554
只是觉得我今天一样。

780
00:39:49,554 --> 00:39:50,470
听众:[听不清]。

781
00:39:50,470 --> 00:39:53,322

782
00:39:53,322 --> 00:39:55,280
DAVID J.马兰:没错,
一个函数,它应该

783
00:39:55,280 --> 00:39:57,330
被称为只有当我们拥有的数据。

784
00:39:57,330 --> 00:40:01,510
这个调用浏览器,让我当前
位置,可能需要一毫秒,

785
00:40:01,510 --> 00:40:02,720
这可能需要一分钟。

786
00:40:02,720 --> 00:40:06,960
这句话的意思是,我们都在讲
的get getCurrentPosition方法,

787
00:40:06,960 --> 00:40:09,910
调用这个回调函数,
我从字面上命名回调

788
00:40:09,910 --> 00:40:13,150
为简单起见,这
显然这是一个在这里。

789
00:40:13,150 --> 00:40:16,290
>> 和getCurrentPosition的工作方式,
简单地通过读取文档

790
00:40:16,290 --> 00:40:19,540
对于一些JavaScript代码在网上,是
它调用了所谓的回调

791
00:40:19,540 --> 00:40:23,220
功能,通过它进入
它的JavaScript对象,

792
00:40:23,220 --> 00:40:28,970
其内部是.coords.latitude
和.coords.longitude,

793
00:40:28,970 --> 00:40:32,140
这是究竟如何,那么,
当我重新加载该页面,

794
00:40:32,140 --> 00:40:33,985
我能看到我的位置在这里。

795
00:40:33,985 --> 00:40:35,610
现在,至少有一个防守位置。

796
00:40:35,610 --> 00:40:37,820
在我访问过这个页面,
当实际工作,

797
00:40:37,820 --> 00:40:40,935
是我至少会提示什么?

798
00:40:40,935 --> 00:40:42,180
>> 听众:[听不清]。

799
00:40:42,180 --> 00:40:44,200
>> DAVID J.马兰:是或no--做
要允许或拒绝呢?

800
00:40:44,200 --> 00:40:46,630
不过想想也对习惯
你们可能已经通过,

801
00:40:46,630 --> 00:40:48,330
无论您的手机和您的浏览器。

802
00:40:48,330 --> 00:40:50,390
我们很多人,我自己
包括,可能

803
00:40:50,390 --> 00:40:54,960
漂亮的倾向,这些days--你
看到一个弹出窗口,只需输入,确认,批准,

804
00:40:54,960 --> 00:40:55,730
允许。

805
00:40:55,730 --> 00:40:59,070
而且越来越多,你可以把
自己在危险的原因。

806
00:40:59,070 --> 00:41:03,280
>> 所以,事实上,有这种奇妙的bug
几年ago--或缺乏feature--

807
00:41:03,280 --> 00:41:08,250
该iTunes的有几年前,
因此,如果你有一部手机,

808
00:41:08,250 --> 00:41:12,000
它是一个iPhone,
你离开你的家

809
00:41:12,000 --> 00:41:15,600
因此,在世界各地旅行
或附近,这么长的时间,

810
00:41:15,600 --> 00:41:17,819
你的手机登录
在这里你都可以通过GPS。

811
00:41:17,819 --> 00:41:20,610
这实际上是透露,
种人们现在期待这一点。

812
00:41:20,610 --> 00:41:21,930
你的手机知道你在哪里。

813
00:41:21,930 --> 00:41:24,990
但问题是,
当你备份

814
00:41:24,990 --> 00:41:29,260
你的手机iTunes--这是前
iCloud中的天,这是为了更好的

815
00:41:29,260 --> 00:41:33,960
或为worse--数据被存储
在iTunes中,完全未加密。

816
00:41:33,960 --> 00:41:37,370
所以,如果你有家人或室友
或者恶意的邻居是谁的

817
00:41:37,370 --> 00:41:41,430
好奇字面上每个GPS
协调你曾经去过,

818
00:41:41,430 --> 00:41:43,300
他或她可以只
坐下来,在iTunes中,运行

819
00:41:43,300 --> 00:41:46,540
一些软件,是自由
可用,制作地图是这样的。

820
00:41:46,540 --> 00:41:48,680
>> 其实,这就是我
制作我自己的手机。

821
00:41:48,680 --> 00:41:49,380
我插了。

822
00:41:49,380 --> 00:41:51,670
它看起来像,基于
蓝色圆点在那里,

823
00:41:51,670 --> 00:41:53,900
这就是大多数
GPS坐标分别为

824
00:41:53,900 --> 00:41:56,680
通过登录iTunes的我
在东北那里。

825
00:41:56,680 --> 00:42:00,030
但我显然走遍
了一下,即使是在美国马萨诸塞州。

826
00:42:00,030 --> 00:42:01,950
>> 所以这是波士顿港
就在那里。

827
00:42:01,950 --> 00:42:04,430
这是一种剑桥大学和
波士顿,在那里它是最黑暗的。

828
00:42:04,430 --> 00:42:07,660
偶尔,我会跑
跑腿到更大的地域。

829
00:42:07,660 --> 00:42:11,464
>> 但iTunes的,多年来,曾作为最好的
我看得出来,所有这些数据在我身上。

830
00:42:11,464 --> 00:42:13,380
你可以告诉,
那年,我竟是

831
00:42:13,380 --> 00:42:17,990
走了很多波士顿之间
和纽约,来回

832
00:42:17,990 --> 00:42:18,830
和来回。

833
00:42:18,830 --> 00:42:22,660
事实上,这是我对美铁,回
回回,反反复复,相当多的。

834
00:42:22,660 --> 00:42:25,970
所有这一切都被被记录和
加密存储在我的电脑

835
00:42:25,970 --> 00:42:28,520
对于任何人谁可能有
进入我的电脑。

836
00:42:28,520 --> 00:42:29,480
>> 这是令人担忧的。

837
00:42:29,480 --> 00:42:32,180
我不知道为什么我是
在宾夕法尼亚州,或为什么

838
00:42:32,180 --> 00:42:35,277
我的手机是在宾夕法尼亚州,
显然相当密集。

839
00:42:35,277 --> 00:42:37,360
然后,终于,我看着
我克卡,而且,哦,我

840
00:42:37,360 --> 00:42:39,880
参观CMU,卡内基
梅隆大学的时候。

841
00:42:39,880 --> 00:42:42,031
并表示不快,那种
解释说,昙花一现。

842
00:42:42,031 --> 00:42:43,780
然后,如果你放大
了进一步的,可以

843
00:42:43,780 --> 00:42:46,850
见我访问旧金山
一次或多次,然后,

844
00:42:46,850 --> 00:42:51,140
我甚至有一个短暂停留了什么
我认为这是拉斯维加斯,在那里。

845
00:42:51,140 --> 00:42:54,120
所以this--的一切只是一个
临时滞留在机场。

846
00:42:54,120 --> 00:42:56,420
>> 听众:[笑]

847
00:42:56,420 --> 00:43:00,760
>> 因此,这是唯一地说,这些
的问题,说实话,是无处不在的。

848
00:43:00,760 --> 00:43:02,780
它只是感觉
越来越喜欢有

849
00:43:02,780 --> 00:43:05,810
更多的这种多被披露,
这可能是一件好事。

850
00:43:05,810 --> 00:43:08,390
我敢说,世界上没有
越来越差的刻录软件。

851
00:43:08,390 --> 00:43:10,520
我们正在变得越来越好,
希望,在注意到

852
00:43:10,520 --> 00:43:13,037
多么糟糕某些软件
就是我们使用。

853
00:43:13,037 --> 00:43:14,870
而幸运的是,一些
公司正开始

854
00:43:14,870 --> 00:43:17,080
举行这个责任。

855
00:43:17,080 --> 00:43:19,080
>> 但是,什么样的防御
你可以有什么想法?

856
00:43:19,080 --> 00:43:23,610
因此,除了密码管理器,像
的1Password和LastPass的和其他人,

857
00:43:23,610 --> 00:43:27,340
除了刚刚更改您的密码
并想出随机的人

858
00:43:27,340 --> 00:43:29,700
使用软件,如
这一点,你也可以尝试

859
00:43:29,700 --> 00:43:31,700
尽你所能来加密
所有的流量

860
00:43:31,700 --> 00:43:34,680
到至少缩小的威胁的区域。

861
00:43:34,680 --> 00:43:38,100
因此,例如,哈佛大学附属公司,
你可以都去vpn.harvard.edu

862
00:43:38,100 --> 00:43:41,010
并与哈佛的ID和密码登录。

863
00:43:41,010 --> 00:43:49,350
这将建立一个安全的
你和哈佛大学之间的连接。

864
00:43:49,350 --> 00:43:51,150
>> 现在,这不
一定保护你

865
00:43:51,150 --> 00:43:54,360
对那些之间的任何威胁
哈佛和Facebook或哈佛

866
00:43:54,360 --> 00:43:54,861
和Gmail。

867
00:43:54,861 --> 00:43:56,735
但是,如果你坐在
在机场或你

868
00:43:56,735 --> 00:43:59,260
坐在星巴克或者你
坐在朋友的地方,

869
00:43:59,260 --> 00:44:02,730
而你真的不相信他们或他们的
他们家的路由器的配置,

870
00:44:02,730 --> 00:44:04,970
至少你可以建立
安全连接

871
00:44:04,970 --> 00:44:10,260
以这样的地方,是一个实体
可能会更好一点保障

872
00:44:10,260 --> 00:44:12,437
不是有点像
星巴克等。

873
00:44:12,437 --> 00:44:14,270
而这样做是什么
它建立,再次

874
00:44:14,270 --> 00:44:16,300
你和端点之间的加密。

875
00:44:16,300 --> 00:44:17,880
>> 更炫的这样的事情。

876
00:44:17,880 --> 00:44:20,000
所以,有些人可能已经
熟悉的Tor,

877
00:44:20,000 --> 00:44:22,930
这是这种匿名的
网络,其中很多人,

878
00:44:22,930 --> 00:44:26,640
如果运行该软件,路径
随后他们的互联网

879
00:44:26,640 --> 00:44:27,990
通过互相通信。

880
00:44:27,990 --> 00:44:31,460
所以,在最短的点
不再A和B之间

881
00:44:31,460 --> 00:44:35,850
但也可能是遍布
到位,使你根本

882
00:44:35,850 --> 00:44:40,742
涵盖了人的跟踪和离开
少一个记录,以在您的HTTP

883
00:44:40,742 --> 00:44:43,950
流量从何而来,因为它会
通过一大堆别人的

884
00:44:43,950 --> 00:44:45,990
笔记本电脑或台式机,
是好还是坏。

885
00:44:45,990 --> 00:44:48,180
>> 但是,即使这不是一个万无一失的事情。

886
00:44:48,180 --> 00:44:51,560
你们当中有些人可能还记得,去年
炸弹恐吓事件被称为英寸

887
00:44:51,560 --> 00:44:54,662
它最终被追查到
用户谁曾在这里使用这个网络。

888
00:44:54,662 --> 00:44:57,870
与追赶那里,我记得是,
如果没有那么多其他人

889
00:44:57,870 --> 00:45:02,190
使用这样或软件
使用此端口和协议,

890
00:45:02,190 --> 00:45:06,250
它不是很难的网络连
找出谁,以一定概率,

891
00:45:06,250 --> 00:45:08,950
事实上是匿名
他或她的通信。

892
00:45:08,950 --> 00:45:12,030
>> 我不知道这些人的
实际的细节问题。

893
00:45:12,030 --> 00:45:15,400
但可以肯定,实现了无一
这些是万无一失的解决方案,以及。

894
00:45:15,400 --> 00:45:18,820
而今天在这里的目标是至少
让你思考这些事情

895
00:45:18,820 --> 00:45:23,140
而未来与技巧
保卫自己免受他们。

896
00:45:23,140 --> 00:45:28,858
所有的威胁有任何疑问
等待着你在那里,并在这里?

897
00:45:28,858 --> 00:45:29,358
是吗?

898
00:45:29,358 --> 00:45:29,858

899
00:45:29,858 --> 00:45:31,793
听众:如何安全的做
我们预计平均

900
00:45:31,793 --> 00:45:35,210
[?网站是,?]喜欢
平均CS50项目?

901
00:45:35,210 --> 00:45:38,530
>> DAVID J.马兰:本
平均CS50项目?

902
00:45:38,530 --> 00:45:43,190
它总是证明,每年的
一些CS50最终项目不

903
00:45:43,190 --> 00:45:44,530
特别是安全的。

904
00:45:44,530 --> 00:45:47,940
通常情况下,它的一些室友或
hallmate的数字了这一点

905
00:45:47,940 --> 00:45:51,200
通过发送请求到您的项目。

906
00:45:51,200 --> 00:45:55,230
>> 总之answer--多少
网站是安全的?

907
00:45:55,230 --> 00:45:57,450
我捡今天异常。

908
00:45:57,450 --> 00:46:00,640
就像这只是偶然事件
我意识到,这个网站

909
00:46:00,640 --> 00:46:03,390
我已经订购这些坦然
美味的安排from--

910
00:46:03,390 --> 00:46:05,348
我不相信我会
停止使用他们的网站;

911
00:46:05,348 --> 00:46:08,030
我可能只是改变我
密码更regularly--

912
00:46:08,030 --> 00:46:11,320
目前还不清楚到底有
弱势所有这些various--

913
00:46:11,320 --> 00:46:12,970
这是巧克力覆盖的实际。

914
00:46:12,970 --> 00:46:16,172

915
00:46:16,172 --> 00:46:19,130
简短的回答,我不能回答这个问题
有效的,只是说这

916
00:46:19,130 --> 00:46:22,150
不是说我很难
发现其中的一些例子,只是

917
00:46:22,150 --> 00:46:24,040
为了讨论在演讲的缘故。

918
00:46:24,040 --> 00:46:26,456
而只是保持在眼睛上
谷歌新闻和其他资源

919
00:46:26,456 --> 00:46:29,590
将带来更
这些事情点亮。

920
00:46:29,590 --> 00:46:32,460
>> 好吧,让我们来总结
这个前传

921
00:46:32,460 --> 00:46:36,870
该CS50的团队已经为你准备
在预期CS50黑客马拉松的。

922
00:46:36,870 --> 00:46:39,763
和你的出路在
此刻,水果会送达。

923
00:46:39,763 --> 00:46:40,429
[视频回放]

924
00:46:40,429 --> 00:46:43,595
[MUSIC菲姬,Q提示和GOONROCK,“A
小小的宴会不会导致死亡NOBODY(ALL

925
00:46:43,595 --> 00:46:44,373
WE GOT)“]

926
00:46:44,373 --> 00:48:08,880

927
00:48:08,880 --> 00:48:13,467
>>  -  [打鼾]

928
00:48:13,467 --> 00:48:14,300
[完视频回放]

929
00:48:14,300 --> 00:48:15,420
DAVID J.马兰:这就是它的CS50。

930
00:48:15,420 --> 00:48:16,544
我们会看到你在周三。

931
00:48:16,544 --> 00:48:20,670

932
00:48:20,670 --> 00:48:25,840
[MUSIC  - 史奇雷克斯,“IMMA”实战“]

933
00:48:25,840 --> 00:51:47,776