Skip to content

Commit aa20766

Browse files
committed
add a few aws lambda resources
1 parent d0b8b2b commit aa20766

File tree

7 files changed

+104
-22
lines changed

7 files changed

+104
-22
lines changed

content/pages/04-web-development/53-stripe.markdown

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ for processing payments.
2222
* [Switching from Braintree to Stripe](https://www.deekit.com/braintree-to-stripe/)
2323
covers one development team's experience with moving payment providers.
2424

25+
* [Dirt Cheap Recurring Payments with Stripe and AWS Lambda](http://normal-extensions.com/2017/05/05/simple-recurring/)
26+
explains how to use the Stripe API with [AWS Lambda](/aws-lambda.html)
27+
to handle recurring payments instead of using a more expensive service
28+
like Chargify or Recurly if you only have minimal requirements.
29+
2530

2631
### Resources about Stripe
2732
* [How Stripe Designs Beautiful Websites](https://www.leejamesrobinson.com/blog/how-stripe-designs-beautiful-websites/)
@@ -32,3 +37,4 @@ for processing payments.
3237
* [Creating a Culture of Observability](http://onemogin.com/observability/stripe/culture/monitoring/monitorama/creating-a-culture-of-observability.html)
3338
is a technical talk about monitoring systems at scale. The presenter works
3439
at Stripe so much of his
40+

content/pages/04-web-development/56-web-app-security.markdown

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ request forgery and usage of public-private keypairs.
3838
testing tool for checking firewalls to ensure they are protecting the
3939
appropriate ports and payloads.
4040

41+
* [Security monkey](https://github.com/Netflix/security_monkey) monitors for
42+
changes to AWS, Google Cloud, GitHub and other infrastructure systems.
43+
4144

4245
### Specific vulnerabilities
4346
* [httpoxy](https://httpoxy.org/) is a set of vulnerabilities that can affect
@@ -110,6 +113,10 @@ resources can also give you a good overview of how HTTPS works.
110113
as well as what stage and size company it is recommended that you put those
111114
procedures in place.
112115

116+
* [Reckon you've seen some stupid security things? Here, hold my beer...](https://www.troyhunt.com/reckon-youve-seen-some-stupid-security-things-here-hold-my-beer/)
117+
provides hilarious, and terribly sad, security vulnerabilities and weaknesses
118+
around encryption and password storage.
119+
113120
* This page contains a
114121
[fantastic curated list of security reading material](http://dfir.org/?q=node/8/)
115122
from beginning to advanced topics.
@@ -125,7 +132,6 @@ resources can also give you a good overview of how HTTPS works.
125132
is a great list of password cracking, scanning, sniffing and other security
126133
penetration testing tools.
127134

128-
* [Security Tips from Apache](http://httpd.apache.org/docs/current/misc/security_tips.html)
129135

130136
* The EFF has a well written overview on
131137
[what makes a good security audit](https://www.eff.org/deeplinks/2014/11/what-makes-good-security-audit). It's broad but contains some of their behind the
@@ -144,6 +150,12 @@ resources can also give you a good overview of how HTTPS works.
144150
* [Crypto 101](https://www.crypto101.io/) is an introductory course on
145151
cryptography for programmers.
146152

153+
* The first answer to the question
154+
["Why are salted hashes more secure for password storage?"](https://security.stackexchange.com/questions/51959/why-are-salted-hashes-more-secure-for-password-storage)
155+
on Stack Overflow gives a wonderful explanation for why this is an
156+
important technique to use to keep your database passwords and other
157+
secrets more secure if the hashed strings are leaked.
158+
147159
* [An in-depth analysis of SSH attacks on Amazon EC2](http://getprismatic.com/story/1409447605839)
148160
shows how important it is to secure your web servers, especially when they are
149161
hosted in IP address ranges that are commonly scanned by malicious actors.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
title: SQL Injection
2+
category: page
3+
slug: sql-injection
4+
sortorder: 0457
5+
toc: False
6+
sidebartitle: SQL Injection
7+
meta: SQL Injection is a web application vulnerability category that can affect both relational and NoSQL databases.
8+
9+
10+
# SQL Injection
11+
SQL injections are a category of web application security vulnerabilities that
12+
can affect both [relational databases](/databases.html) and
13+
[NoSQL data stores](/no-sql-datastore.html).
14+
15+
16+
### SQL Injection resources
17+
* [How security flaws work: SQL injection](https://arstechnica.com/information-technology/2016/10/how-security-flaws-work-sql-injection/)
18+
is an approachable primer on the history and danger of how unsanitized
19+
inputs to a database work.
20+
21+
* [Preventing SQL injections](https://tapoueh.org/blog/2018/11/preventing-sql-injections/)
22+
provides a [PostgreSQL](/postgresql.html) and psycopg2 example for how
23+
to avoid getting bit by a SQL injection vulnerability.
24+
25+
* [Securing your site like it's 1999](https://24ways.org/2018/securing-your-site-like-its-1999/)
26+
covers a bunch of common web application vulnerabilities including
27+
SQL injection.

content/pages/05-deployment/39-aws-lambda.markdown

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ is a compute service that executes arbitrary Python code in response
1313
to developer-defined AWS events, such as inbound API calls or file
1414
uploads to [AWS' Simple Storage Service (S3)](https://aws.amazon.com/s3/).
1515

16-
<a href="https://aws.amazon.com/lambda/" style="border:none"><img src="/img/logos/aws-lambda.jpg" width="100%" alt="AWS Lambda logo." class="technical-diagram" style="border-radius:6px"></a>
16+
<a href="https://aws.amazon.com/lambda/" style="border:none"><img src="/img/logos/aws-lambda.jpg" width="100%" alt="AWS Lambda logo." class="shot outl rnd"></a>
1717

1818

1919
## Why is Lambda useful?
@@ -28,7 +28,7 @@ configuring servers, deploying their code and scaling based on traffic.
2828
Lambda only had support for JavaScript, specifically Node.JS, when it was
2929
first released in late 2014. Python 2 developers were welcomed to the
3030
platform less than a year after its release, in October 2015. Lambda now
31-
has support for both Python 2.7 and 3.6.
31+
has support for both Python 2.7, 3.6 and 3.7.
3232

3333

3434
### Python-specific AWS Lambda resources
@@ -49,14 +49,24 @@ has support for both Python 2.7 and 3.6.
4949
for SQL injection vulnerabilities in serverless functions on AWS Lambda.
5050

5151
* [Building Scikit-Learn For AWS Lambda](https://serverlesscode.com/post/scikitlearn-with-amazon-linux-container/)
52+
follows up on the
53+
[Using Scikit-Learn In AWS Lambda](https://serverlesscode.com/post/deploy-scikitlearn-on-lamba/)
54+
post which shows how to perform scientific computing with Python
55+
packages on AWS Lambda.
5256

53-
* [Code Evaluation With AWS Lambda and API Gateway](https://realpython.com/blog/python/code-evaluation-with-aws-lambda-and-api-gateway/) shows how to develop a code evaluation API, to execute arbitrary code, with AWS Lambda and API Gateway.
57+
* [Creating Serverless Functions with Python and AWS Lambda](https://hackernoon.com/creating-serverless-functions-with-python-and-aws-lambda-901d202d45dc)
58+
explains how to use the [Serverless framework](https://serverless.com/)
59+
to build Python applications that can be deployed to AWS Lambda.
5460

61+
* [Code Evaluation With AWS Lambda and API Gateway](https://realpython.com/blog/python/code-evaluation-with-aws-lambda-and-api-gateway/)
62+
shows how to develop a code evaluation API, to execute arbitrary code, with AWS Lambda and API Gateway.
5563

56-
### General AWS Lambda resources
57-
* [The Serverless Start-Up - Down With Servers!](http://highscalability.com/blog/2015/12/7/the-serverless-start-up-down-with-servers.html)
5864

65+
### General AWS Lambda resources
5966
* [AWS Lambda Serverless Reference Architectures](http://www.allthingsdistributed.com/2016/06/aws-lambda-serverless-reference-architectures.html)
67+
provides blueprints with diagrams of common architecture patterns that
68+
developers use for their mobile backend, file processing, stream
69+
processing and web application projects.
6070

6171
* The
6272
[AWS Lambda tag](https://aws.amazon.com/blogs/aws/category/aws-lambda/)
@@ -70,3 +80,12 @@ has support for both Python 2.7 and 3.6.
7080
is an awesome real-world story with the architecture behind a serverless
7181
AWS Lambda application deployment at Nordstrom.
7282

83+
* [How was your experience with AWS Lambda in production?](https://news.ycombinator.com/item?id=14601809)
84+
has a good discussion of some of the benefits and issues that developers
85+
had as of mid-2017 with using Lambda for production applications.
86+
87+
* [Passwordless database authentication for AWS Lambda](https://cloudonaut.io/passwordless-database-authentication-for-aws-lambda/)
88+
shows how to use a MySQL backend from your Lambda functions.
89+
90+
* [How does language, memory and package size affect cold starts of AWS Lambda?](https://read.acloud.guru/does-coding-language-memory-or-package-size-affect-cold-starts-of-aws-lambda-a15e26d12c76)
91+
investigates the performance implications of various Lambda settings.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What web development topic do you want to learn about next?</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/databases.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/web-application-security.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/logging.html" %}
16+
</div>
17+
</div>
18+
</div>
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<h3>What web development topic do you want to learn about next?</h3>
22
<div class="row">
3-
<div class="c4">
4-
<div class="well select-next">
5-
{% include "choices/buttons/web-analytics.html" %}
6-
</div>
7-
</div>
8-
<div class="c4">
9-
<div class="well select-next">
10-
{% include "choices/buttons/api-integration.html" %}
11-
</div>
12-
</div>
13-
<div class="c4">
14-
<div class="well select-next">
15-
{% include "choices/buttons/logging.html" %}
16-
</div>
17-
</div>
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/web-analytics.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/api-integration.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/logging.html" %}
16+
</div>
17+
</div>
1818
</div>

theme/templates/table-of-contents.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ <h4>4.12 <a href="/api-integration.html">API integration</a></h4>
136136
<div class="tc tds"><a href="/slack.html">Slack</a></div>
137137
<div class="tc tds"><a href="/okta.html">Okta</a></div>
138138
<h4>4.13 <a href="/web-application-security.html">Web application security</a></h4>
139-
<div class="tc tds sn">SQL injection</div>
139+
<div class="tc tds"><a href="/sql-injection.html">SQL injection</a></div>
140140
<div class="tc tds sn">Cross Site Request Forgery</div>
141141
</div>
142142

0 commit comments

Comments
 (0)