<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog Entries Tagged &#34;security&#34; on Milwaukee Web Developer, PHP and Laravel Programmer, Consultant</title>
    <link>https://aaronsaray.com/tag/security/</link>
    <description>Recent content in Blog Entries Tagged &#34;security&#34; on Milwaukee Web Developer, PHP and Laravel Programmer, Consultant</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.</copyright>
    <lastBuildDate>Wed, 27 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://aaronsaray.com/tag/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Why Do I Use Plain Text Password for My Initial User Record?</title>
      <link>https://aaronsaray.com/2026/why-do-i-use-plain-text-password-for-my-initial-user-record/</link>
      <pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2026/why-do-i-use-plain-text-password-for-my-initial-user-record/</guid>
      <description>&lt;p&gt;When I create a project, I will have at least one user seeded into the database. This usually is an admin user as well.&lt;/p&gt;&#xA;&lt;p&gt;So, why would I create this user with a plain text password initially?! That&amp;rsquo;s crazy right?&lt;/p&gt;&#xA;&lt;p&gt;Let me explain why - and then you can see if you agree.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validate Everything Including Pagination</title>
      <link>https://aaronsaray.com/2026/validate-everything-including-pagination/</link>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2026/validate-everything-including-pagination/</guid>
      <description>&lt;p&gt;There are many reasons why we validate data - whether it&amp;rsquo;s a Laravel project or any other framework or technology. Sometimes it&amp;rsquo;s for user or business sanity, other times to keep the application functioning properly. We even do so for security - for both security attacks we know about and hopefully to stop ones we don&amp;rsquo;t understand.&lt;/p&gt;&#xA;&lt;p&gt;This is the reason why I reached for validation on pagination requests.  This is user input. Just because I don&amp;rsquo;t understand how it could hurt me doesn&amp;rsquo;t mean I should ignore it, right?&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s validate pagination - easily - in Laravel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stopping Laravel SQL Injection with sole()</title>
      <link>https://aaronsaray.com/2025/stopping-laravel-sql-injection-with-sole/</link>
      <pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2025/stopping-laravel-sql-injection-with-sole/</guid>
      <description>&lt;p&gt;I love using Eloquent&amp;rsquo;s &lt;code&gt;sole()&lt;/code&gt; method in Laravel. It throws an exception if the result set is ever more than 1. It means you should only have a sole record. This is usually what I want. I&amp;rsquo;ve migrated away from &lt;code&gt;firstOrFail()&lt;/code&gt; unless I legitimately want the first of a matching set.&lt;/p&gt;&#xA;&lt;p&gt;But I just found another reason to love using the sole method - it helps add a layer of protection against SQL injection. Let&amp;rsquo;s find out how.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Laravel Log Throttled Users</title>
      <link>https://aaronsaray.com/2024/laravel-log-throttled-users/</link>
      <pubDate>Sun, 01 Sep 2024 10:10:43 -0500</pubDate>
      <guid>https://aaronsaray.com/2024/laravel-log-throttled-users/</guid>
      <description>&lt;p&gt;You&amp;rsquo;ve got Laravel throttling set up on authentication, password reset and other sensitive endpoints. But, how do you know this is actually working to stop people? Or what if you either want to admonish bad users or proactively reach out with support to help them? Perhaps you might want to log your throttled attempts. It&amp;rsquo;s pretty easy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Laravel Password Reset a Little Better</title>
      <link>https://aaronsaray.com/2024/laravel-password-reset-a-little-better/</link>
      <pubDate>Wed, 27 Mar 2024 12:02:33 -0500</pubDate>
      <guid>https://aaronsaray.com/2024/laravel-password-reset-a-little-better/</guid>
      <description>&lt;p&gt;There are a number of tools and packages that help you manage your users and their associated password reset flows available. The Laravel docs also describe a way that &lt;a href=&#34;https://laravel.com/docs/11.x/passwords#password-reset-handling-the-form-submission&#34;&gt;you can reset your password in your own controller&lt;/a&gt;. Depending on the use case of the application, I end up having to use code like this in some applications when other packages won&amp;rsquo;t work as drop-ins. But, can we make this example a little better, more secure, easier to read or a better UX? I think so. Let&amp;rsquo;s go.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use Github Actions Permissions with 3rd Party Actions</title>
      <link>https://aaronsaray.com/2023/use-github-actions-permissions-with-3rd-party-actions/</link>
      <pubDate>Wed, 06 Dec 2023 08:58:51 -0600</pubDate>
      <guid>https://aaronsaray.com/2023/use-github-actions-permissions-with-3rd-party-actions/</guid>
      <description>&lt;p&gt;I can&amp;rsquo;t say how much I love &lt;a href=&#34;https://github.com/features/actions&#34;&gt;Github actions&lt;/a&gt;. It really felt like a game-changer for me. But I always had some concerns about security. How do we stop 3rd party actions from accessing stealing our code?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Care About Privacy with Web Analytics?</title>
      <link>https://aaronsaray.com/2022/why-care-about-privacy-with-analytics/</link>
      <pubDate>Sat, 24 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2022/why-care-about-privacy-with-analytics/</guid>
      <description>&lt;p&gt;If Google gives free access to their web traffic tool called Google Analytics, why would you need anything else? Why would you care? Let&amp;rsquo;s briefly talk about why privacy matters and what you can do instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Securing Laravel from Hackers</title>
      <link>https://aaronsaray.com/2021/securing-laravel-from-hackers/</link>
      <pubDate>Mon, 23 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2021/securing-laravel-from-hackers/</guid>
      <description>&lt;div class=&#34;header-call-out&#34;&gt;&#xA;    &lt;p&gt;Laravel Hacker is no longer a brand. You can find my security work at &lt;a href=&#34;https://masteringlaravel.io/security?ref=as&#34;&gt;MasteringLaravel.io/security&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Laravel is a great framework that is pretty secure by default. However, configuration mistakes or coding errors can still leave your app open for attack. Where do you go for help?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Illustrating Why Fillable and Validated Matter in Laravel</title>
      <link>https://aaronsaray.com/2021/illustrating-why-fillable-and-validated-matter/</link>
      <pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2021/illustrating-why-fillable-and-validated-matter/</guid>
      <description>&lt;p&gt;When given a choice of methods and ways to do something, it might not be clear which way is the best. As programmers, we tend to pick the easiest, then. However, the easiest can have security implications.  Let me illustrate why we should use more stringent controls in a Laravel project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remember to Review Your Package Code for Security</title>
      <link>https://aaronsaray.com/2019/review-your-packages-for-security/</link>
      <pubDate>Mon, 12 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://aaronsaray.com/2019/review-your-packages-for-security/</guid>
      <description>&lt;p&gt;Open source software is wonderful for many reasons.  One of the best is we can see and inspect the software for vulnerabilities.  But, far too many people actually do this.  Let me demonstrate, using a Laravel package, how this lack of review might backfire and cause you grief.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
