Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 41cf118

Browse files
committed
fix: a shit ton of typos and missed links
1 parent 0b3fe63 commit 41cf118

20 files changed

+483
-221
lines changed

infra/terraform.tfstate

Lines changed: 24 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -62,37 +62,24 @@
6262
"bucket_regional_domain_name": "ashgw-blog-public-general.s3.us-east-2.amazonaws.com",
6363
"cors_rule": [
6464
{
65-
"allowed_headers": [
66-
"*"
67-
],
68-
"allowed_methods": [
69-
"GET",
70-
"HEAD"
71-
],
72-
"allowed_origins": [
73-
"*"
74-
],
75-
"expose_headers": [
76-
"ETag"
77-
],
65+
"allowed_headers": ["*"],
66+
"allowed_methods": ["GET", "HEAD"],
67+
"allowed_origins": ["*"],
68+
"expose_headers": ["ETag"],
7869
"max_age_seconds": 3000
7970
}
8071
],
8172
"force_destroy": false,
8273
"grant": [
8374
{
8475
"id": "",
85-
"permissions": [
86-
"READ"
87-
],
76+
"permissions": ["READ"],
8877
"type": "Group",
8978
"uri": "http://acs.amazonaws.com/groups/global/AllUsers"
9079
},
9180
{
9281
"id": "e420affff348dc73cd2e823658c3fbe2bcfda717547ca27db9df24c350f45e75",
93-
"permissions": [
94-
"FULL_CONTROL"
95-
],
82+
"permissions": ["FULL_CONTROL"],
9683
"type": "CanonicalUser",
9784
"uri": ""
9885
}
@@ -151,37 +138,24 @@
151138
"bucket_regional_domain_name": "ashgw-blog-public-images.s3.us-east-2.amazonaws.com",
152139
"cors_rule": [
153140
{
154-
"allowed_headers": [
155-
"*"
156-
],
157-
"allowed_methods": [
158-
"GET",
159-
"HEAD"
160-
],
161-
"allowed_origins": [
162-
"*"
163-
],
164-
"expose_headers": [
165-
"ETag"
166-
],
141+
"allowed_headers": ["*"],
142+
"allowed_methods": ["GET", "HEAD"],
143+
"allowed_origins": ["*"],
144+
"expose_headers": ["ETag"],
167145
"max_age_seconds": 3000
168146
}
169147
],
170148
"force_destroy": false,
171149
"grant": [
172150
{
173151
"id": "",
174-
"permissions": [
175-
"READ"
176-
],
152+
"permissions": ["READ"],
177153
"type": "Group",
178154
"uri": "http://acs.amazonaws.com/groups/global/AllUsers"
179155
},
180156
{
181157
"id": "e420affff348dc73cd2e823658c3fbe2bcfda717547ca27db9df24c350f45e75",
182-
"permissions": [
183-
"FULL_CONTROL"
184-
],
158+
"permissions": ["FULL_CONTROL"],
185159
"type": "CanonicalUser",
186160
"uri": ""
187161
}
@@ -358,19 +332,10 @@
358332
"bucket": "ashgw-blog-public-general",
359333
"cors_rule": [
360334
{
361-
"allowed_headers": [
362-
"*"
363-
],
364-
"allowed_methods": [
365-
"GET",
366-
"HEAD"
367-
],
368-
"allowed_origins": [
369-
"*"
370-
],
371-
"expose_headers": [
372-
"ETag"
373-
],
335+
"allowed_headers": ["*"],
336+
"allowed_methods": ["GET", "HEAD"],
337+
"allowed_origins": ["*"],
338+
"expose_headers": ["ETag"],
374339
"id": "",
375340
"max_age_seconds": 3000
376341
}
@@ -380,9 +345,7 @@
380345
},
381346
"sensitive_attributes": [],
382347
"private": "bnVsbA==",
383-
"dependencies": [
384-
"module.public_content.aws_s3_bucket.buckets"
385-
]
348+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
386349
},
387350
{
388351
"index_key": "1",
@@ -391,19 +354,10 @@
391354
"bucket": "ashgw-blog-public-images",
392355
"cors_rule": [
393356
{
394-
"allowed_headers": [
395-
"*"
396-
],
397-
"allowed_methods": [
398-
"GET",
399-
"HEAD"
400-
],
401-
"allowed_origins": [
402-
"*"
403-
],
404-
"expose_headers": [
405-
"ETag"
406-
],
357+
"allowed_headers": ["*"],
358+
"allowed_methods": ["GET", "HEAD"],
359+
"allowed_origins": ["*"],
360+
"expose_headers": ["ETag"],
407361
"id": "",
408362
"max_age_seconds": 3000
409363
}
@@ -413,9 +367,7 @@
413367
},
414368
"sensitive_attributes": [],
415369
"private": "bnVsbA==",
416-
"dependencies": [
417-
"module.public_content.aws_s3_bucket.buckets"
418-
]
370+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
419371
}
420372
]
421373
},
@@ -525,9 +477,7 @@
525477
},
526478
"sensitive_attributes": [],
527479
"private": "bnVsbA==",
528-
"dependencies": [
529-
"module.public_content.aws_s3_bucket.buckets"
530-
]
480+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
531481
},
532482
{
533483
"index_key": "1",
@@ -542,9 +492,7 @@
542492
},
543493
"sensitive_attributes": [],
544494
"private": "bnVsbA==",
545-
"dependencies": [
546-
"module.public_content.aws_s3_bucket.buckets"
547-
]
495+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
548496
}
549497
]
550498
}

infra/terraform.tfstate.backup

Lines changed: 14 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,7 @@
9090
"grant": [
9191
{
9292
"id": "e420affff348dc73cd2e823658c3fbe2bcfda717547ca27db9df24c350f45e75",
93-
"permissions": [
94-
"FULL_CONTROL"
95-
],
93+
"permissions": ["FULL_CONTROL"],
9694
"type": "CanonicalUser",
9795
"uri": ""
9896
}
@@ -154,9 +152,7 @@
154152
"grant": [
155153
{
156154
"id": "e420affff348dc73cd2e823658c3fbe2bcfda717547ca27db9df24c350f45e75",
157-
"permissions": [
158-
"FULL_CONTROL"
159-
],
155+
"permissions": ["FULL_CONTROL"],
160156
"type": "CanonicalUser",
161157
"uri": ""
162158
}
@@ -333,19 +329,10 @@
333329
"bucket": "ashgw-blog-public-general",
334330
"cors_rule": [
335331
{
336-
"allowed_headers": [
337-
"*"
338-
],
339-
"allowed_methods": [
340-
"GET",
341-
"HEAD"
342-
],
343-
"allowed_origins": [
344-
"*"
345-
],
346-
"expose_headers": [
347-
"ETag"
348-
],
332+
"allowed_headers": ["*"],
333+
"allowed_methods": ["GET", "HEAD"],
334+
"allowed_origins": ["*"],
335+
"expose_headers": ["ETag"],
349336
"id": "",
350337
"max_age_seconds": 3000
351338
}
@@ -355,9 +342,7 @@
355342
},
356343
"sensitive_attributes": [],
357344
"private": "bnVsbA==",
358-
"dependencies": [
359-
"module.public_content.aws_s3_bucket.buckets"
360-
]
345+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
361346
},
362347
{
363348
"index_key": "1",
@@ -366,19 +351,10 @@
366351
"bucket": "ashgw-blog-public-images",
367352
"cors_rule": [
368353
{
369-
"allowed_headers": [
370-
"*"
371-
],
372-
"allowed_methods": [
373-
"GET",
374-
"HEAD"
375-
],
376-
"allowed_origins": [
377-
"*"
378-
],
379-
"expose_headers": [
380-
"ETag"
381-
],
354+
"allowed_headers": ["*"],
355+
"allowed_methods": ["GET", "HEAD"],
356+
"allowed_origins": ["*"],
357+
"expose_headers": ["ETag"],
382358
"id": "",
383359
"max_age_seconds": 3000
384360
}
@@ -388,9 +364,7 @@
388364
},
389365
"sensitive_attributes": [],
390366
"private": "bnVsbA==",
391-
"dependencies": [
392-
"module.public_content.aws_s3_bucket.buckets"
393-
]
367+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
394368
}
395369
]
396370
},
@@ -500,9 +474,7 @@
500474
},
501475
"sensitive_attributes": [],
502476
"private": "bnVsbA==",
503-
"dependencies": [
504-
"module.public_content.aws_s3_bucket.buckets"
505-
]
477+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
506478
},
507479
{
508480
"index_key": "1",
@@ -517,9 +489,7 @@
517489
},
518490
"sensitive_attributes": [],
519491
"private": "bnVsbA==",
520-
"dependencies": [
521-
"module.public_content.aws_s3_bucket.buckets"
522-
]
492+
"dependencies": ["module.public_content.aws_s3_bucket.buckets"]
523493
}
524494
]
525495
}

public/blogs/branded-types.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,5 +189,5 @@ const baz2 = requestBaz(foo.id, bar.id);
189189
showLineNumbers={true}
190190
/>
191191
<C>
192-
`ts-roids` is a library I created this week, the goal is to bulletproof TypeScript with types and decorators, it includes more than 120+ utilities, you can check it out <L href="https://github.com/ashgw/ts-roids">here</L>.
192+
Oh btw,`ts-roids` is a library I created this week, the goal is to bulletproof TypeScript with types and decorators, it includes more than 120+ utilities at the time of writing, you can check it out <L href="https://github.com/ashgw/ts-roids">here</L>.
193193
</C>

public/blogs/code-silos.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ By documenting critical decisions, including the thought process behind them, we
3232
Knowledge should be dispersed throughout the entire project rather than being concentrated in the hands of a select few.
3333
</C>
3434
<C>
35-
The project should be self-explanatory. When introducing a new <L href="/blog/bootcamp-ripoff">decent</L> developer to the codebase, they should require **NO** clarification from others. They can simply read the code and relevant documents, [easily setup]() the project and **immediately** begin making significant contributions.
35+
The project should be self-explanatory. When introducing a new <L href="/blog/tag/skill-issues">decent</L> developer to the codebase, they should require **NO** clarification from others. They can simply read the code and relevant documents, [easily setup]() the project and **immediately** begin making significant contributions.
3636
Detailed documentation is necessary for facilitating smooth onboarding, providing newcomers with the necessary insights to navigate the codebase independently. It should encompass technical specifications, design rationale, coding conventions, and best practices – essentially, every decision made in the project from the ground up.
3737
</C>
3838
<C>
39-
If you have code silos, it indicates a lack of quality in the project code. In such cases, an <L href="/services/code-audits">independent code audits</L> from time to time may be necessary to save you from a full project re-write.
39+
If you have code silos, it indicates a lack of quality in the project code. In such cases, an <L href="/services/code-audits">independent code audit</L> won't hurt from time to time.
4040
</C>

public/blogs/csrf-mitigation.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ seoTitle: CSRF Mitigation techniques
44
summary: If you're vulnerable to XSS, none of this will work
55
isReleased: true
66
isSequel: false
7-
lastModDate: 2022-09-04T09:15:00-0401
8-
firstModDate: 2022-09-04T09:15:00-0401
7+
lastModDate: 2020-09-04T09:15:00-0401
8+
firstModDate: 2020-09-04T09:15:00-0401
99
minutesToRead: 7
1010
tags:
1111
- 'csrf'
1212
- 'cybersec'
1313
---
1414

1515
<C>
16-
If you don't rely on a framework to do the heavy lifting for you, or a third party library. As I always say: you have to [understand]() the subject before you abstract it. Here's how to do it manually, but first note thhat none of the techniques below will work if you're already [XSS]() vulnerable
16+
If you don't rely on a framework to do the heavy lifting for you, or a third party library. As I always say that you have to [understand]() the subject before you abstract it. Here's how to do it manually, but first note that none of the techniques below will work if you're already [XSS]() vulnerable
1717
</C>
1818
<H2>Where Did The Request Come From?</H2>
1919
<C>
@@ -134,10 +134,10 @@ func generateHMAC(secret, message string) string {
134134
showLineNumbers={false}
135135
/>
136136
<C>
137-
On the server side, when handling incoming requests, the server decodes or decrypts the JWT or JWE to extract the UUID. Simultaneously, it decodes the HMAC-CSRF token, verifies its integrity using the stored secret key, if the integrity was not preserved, the server blocks, else it extracts the UUID. If the extracted UUIDs do not match, there is a potential indication of tampering or unauthorized access, the server blocks.
137+
On the server side, when handling incoming requests, the server decodes or decrypts the JWT or JWE to extract the UUID. Simultaneously, it decodes the HMAC-CSRF token, verifies its integrity using the stored secret key, if the integrity was not preserved, the server logs, and blocks, else it extracts the UUID. If the extracted UUIDs do not match, there is a potential indication of tampering or unauthorized access, the server logs, and blocks.
138138
</C>
139139

140-
<H3>Stateleful Services</H3>
140+
<H3>Stateful Services</H3>
141141
<C>
142142
As in, you use a database to store a user's session, the cookie is just a reference to the user session, like an ID. Use the Synchronizer Pattern:
143143
</C>
@@ -238,7 +238,7 @@ If you want to see a framework implementation of the synchronized pattern , chec
238238
</C>
239239
<H2>Cookies</H2>
240240
<C>
241-
Avoid setting cookies with a specific domain to minimize security risks. When a cookie is domain-specific, all subdomains share that cookie, which can pose risks if subdomains are linked to external domains through CNAME records.
241+
Avoid setting cookies with a specific domain to minimize security risks. When a cookie is domain-specific, all subdomains share that cookie, which can pose risks if you get hit with a <L href="https://developer.mozilla.org/en-US/docs/Web/Security/Subdomain_takeovers">subdomain takeover</L> attack.
242242
</C><C>
243243
For session cookies, ensure they are protected by:
244244
</C><C>
@@ -283,5 +283,5 @@ Requiring users to authenticate using their password, biometric data, security q
283283
</C>
284284
<H2>HTTP Methods</H2>
285285
<C>
286-
And oh yeah, this is obvious but, For any state changing request, DON'T USE [safe methods]().
286+
And oh yeah, did I mention that for any state changing request, DON'T USE [safe methods]().
287287
</C>

0 commit comments

Comments
 (0)