<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: RiversideRocks</title>
    <description>The latest articles on DEV Community by RiversideRocks (@riversiderocks).</description>
    <link>https://dev.to/riversiderocks</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F340100%2F99b74161-3176-449e-b50e-9eae2fcbfaa7.jpeg</url>
      <title>DEV Community: RiversideRocks</title>
      <link>https://dev.to/riversiderocks</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/riversiderocks"/>
    <language>en</language>
    <item>
      <title>How on earth does this work?</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Sat, 28 Aug 2021 15:28:32 +0000</pubDate>
      <link>https://dev.to/riversiderocks/how-on-earth-does-this-work-11e</link>
      <guid>https://dev.to/riversiderocks/how-on-earth-does-this-work-11e</guid>
      <description>&lt;p&gt;I was browsing the internet the other day and came across a site known as spur.us. The site claims to "Stops fraud and abuse on the internet" by collecting and indexing IP usage, VPN IPs, and proxy IPs.&lt;/p&gt;

&lt;p&gt;Its a very interesting site, you can get info on any IP by visiting spur.us/context/youriphere. My question is, how does it work? How does a site collect data on every IP address out there? How do they know that X amount of people are on my IP address? How do they know that I have connected to the Tor network or used ProtonVPN?&lt;/p&gt;

</description>
      <category>security</category>
    </item>
    <item>
      <title>Dev.to seems to be down now</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Tue, 26 Jan 2021 16:53:52 +0000</pubDate>
      <link>https://dev.to/riversiderocks/dev-to-seems-to-be-down-now-3hjg</link>
      <guid>https://dev.to/riversiderocks/dev-to-seems-to-be-down-now-3hjg</guid>
      <description>&lt;p&gt;I'm having some issues with dev.to right now, is it working for everyone else?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8Xiwyiic--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2swadmjdxu174gz9nmu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8Xiwyiic--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2swadmjdxu174gz9nmu1.png" alt="API"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>meta</category>
    </item>
    <item>
      <title>Don't fall for the "freeproxy" scam</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Wed, 09 Dec 2020 14:01:17 +0000</pubDate>
      <link>https://dev.to/riversiderocks/don-t-fall-for-the-freeproxy-scam-180f</link>
      <guid>https://dev.to/riversiderocks/don-t-fall-for-the-freeproxy-scam-180f</guid>
      <description>&lt;p&gt;Recently I was taking a look at my access logs for my website. Nothing too unusual, just the regular hacking attempts. I was reading them then I noticed this request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;185.220.100.243 - - [09/Dec/2020:07:17:37 -0500] "GET / HTTP/1.1" 200 2212 "https://freevpn.space/web-proxy/riverside.rocks" "Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First of all, a few things to note about this request, the first being that it is almost definitely a bot. Firefox 68 is old and nobody uses it anymore. Second, after a lookup of the IP on AbuseIPDB, it is from the Tor network:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ygf8zoX---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d78692a78.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ygf8zoX---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d78692a78.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My first thought was, oh crap, my website is on some proxy list, this is bad. But after some more digging, it looks like this is a scam. I decided to follow the link in the referrer with cURL to get an idea of where it went.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ypJt-B1_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d820cc66d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ypJt-B1_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d820cc66d.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It forwards the user to very shady looking website with what looks like an affiliate tag in the HTTP referrer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e1r2cAVo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d85b405d9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e1r2cAVo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://riverside.rocks/assets/serve/production/app/5fd0d85b405d9.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website then forwards you to ExpressVPN.com with the affiliate code. My best guess is that these scammers are exploiting ExpressVPN's affiliate program to make some easy cash by scarring webmasters. Stay safe folks!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>scams</category>
    </item>
    <item>
      <title>The Fixed Line Mystery...</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Fri, 06 Nov 2020 23:20:01 +0000</pubDate>
      <link>https://dev.to/riversiderocks/the-fixed-line-mystery-46de</link>
      <guid>https://dev.to/riversiderocks/the-fixed-line-mystery-46de</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Friverside.rocks%2Fassets%2Fserve%2Fproduction%2Fapp%2F5fa5da53823a9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Friverside.rocks%2Fassets%2Fserve%2Fproduction%2Fapp%2F5fa5da53823a9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few days ago I deiced to open up my SSH to the internet. Possibly not the greatest idea, but I have a service set up to block brute force attempts and report unauthorized connections to &lt;a href="https://www.abuseipdb.com" rel="noopener noreferrer"&gt;AbuseIPDB&lt;/a&gt;. After a few days I started noticing some odd patterns.&lt;/p&gt;

&lt;p&gt;Over the last few days, I have gotten a &lt;em&gt;ton&lt;/em&gt; of break in attempts from "Fixed Line" ISPs (IPs being used by people's homes and possibly businesses). A good deal of these requests appear to be coming from smaller ISPs (to this date no requests have come from one of the biggest ISPs in the United States, Comcast), mostly from CenturyLink Communications LLC.&lt;/p&gt;

&lt;p&gt;At first I thought that most of these attacks were from exploited hosts - IPs that have been hacked. A bot (possibly a person) brute forced a login page that was on the internet, and uploaded malware that lets the IP scan for more login pages, and the cycle continues creating a botnet. While some of the requests were likely just this, I noticed something odd. Most of the IPs had only 1 or 2 reports (one of them being mine). I was a bit confused at why I was one of the only reports, but then I came up with an interesting idea.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Theory
&lt;/h1&gt;

&lt;p&gt;Likely the malware inserted on to these IPs wasn't scanning the entire internet, instead it was scanning only residential CIDR blocks. My server's IP, which is a Comcast IP likely fell under one of the CIDR blocks. Most people choose to use web hosts instead of self hosting which would explain the few reports.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Lesson
&lt;/h1&gt;

&lt;p&gt;If it doesn't need to be on the internet, don't put it on the internet. If you are unsure if you have any router logins online, please do an Nmap scan of your IP.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;code&gt;nmap -sS 0.0.0.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Stay safe!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.abuseipdb.com/user/47625" rel="noopener noreferrer"&gt;AbuseIPDB - Riverside Rocks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://riverside.rocks" rel="noopener noreferrer"&gt;My Website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hack</category>
      <category>ip</category>
    </item>
    <item>
      <title>How to Make Your Open Source Project Top Tier</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Thu, 15 Oct 2020 15:18:40 +0000</pubDate>
      <link>https://dev.to/riversiderocks/how-to-make-your-open-source-project-top-tier-2ldf</link>
      <guid>https://dev.to/riversiderocks/how-to-make-your-open-source-project-top-tier-2ldf</guid>
      <description>&lt;p&gt;As I begin work on my &lt;a href="https://github.com/DangerousUserDB/DangerousUserDB"&gt;own&lt;/a&gt; open-source project and create pull requests for Hacktoberfest, I wanted to share what I think makes a great open-source repo. &lt;/p&gt;

&lt;p&gt;I boiled down what I want to see in an open source project down into three points. Here they are:&lt;/p&gt;

&lt;h2&gt;
  
  
  1 - Keep it to GitHub
&lt;/h2&gt;

&lt;p&gt;Please don't make me go to your bug reporting site that was last updated in 1995. Staying on GitHub makes my life much easier and allows me to see all of my contributions in one spot, which makes it easier to create a resume.&lt;/p&gt;

&lt;h2&gt;
  
  
  2 - Listen
&lt;/h2&gt;

&lt;p&gt;Don't slap the Hacktoberfest tag on your report and then run for the hills. Review pull requests and issues. If you can't help out a user right away, tell them that you are working on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  3 - Give Feedback
&lt;/h2&gt;

&lt;p&gt;If an issue gets denied, tell me why it was denied and how I can improve in the future. That helps everyone out!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>PHP Functions every beginner should know.</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Sat, 08 Aug 2020 19:02:16 +0000</pubDate>
      <link>https://dev.to/riversiderocks/php-functions-every-beginner-should-know-i6b</link>
      <guid>https://dev.to/riversiderocks/php-functions-every-beginner-should-know-i6b</guid>
      <description>&lt;p&gt;PHP is one of the most popular languages for building websites. In fact, you probably used it today if you visited a Wordpress site or Facebook.&lt;/p&gt;

&lt;p&gt;Here are a few useful built in PHP functions every developer should use more often.&lt;/p&gt;

&lt;h1&gt;
  
  
  1 - htmlspecialchars
&lt;/h1&gt;

&lt;p&gt;The htmlspecialchars function is better than than using only using echo for one main reason: it prevents XSS. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;htmlspecialchars&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;script&amp;gt;console.log('XSS!');&amp;lt;script&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;amp;lt;script&amp;amp;gt;console.log('XSS!');&amp;amp;lt;script&amp;amp;gt;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  2 - exec
&lt;/h1&gt;

&lt;p&gt;This function allows you to run code on the command prompt or terminal, depending what OS you use to host/test. While this function is a bit more advanced, it is very useful. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;

&lt;span class="nb"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"mkdir files"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Upon running this code, a folder will be created called files. This is a very powerful command, and user input &lt;strong&gt;NEVER&lt;/strong&gt; be allowed in this function.&lt;/p&gt;

&lt;h1&gt;
  
  
  3 - header
&lt;/h1&gt;

&lt;p&gt;HTTP headers are very useful online, they tell your browser what to do when a website is loaded. You can use PHP to set headers in seconds. This code will set the 302 Found header, creating a redirect to riverside.rocks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
header("Location: https://riverside.rocks");
die();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Upon viewing this with cURL, we can see it worked.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gUuwZj7a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2l91o9wv5i5ckcjpca2f.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gUuwZj7a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2l91o9wv5i5ckcjpca2f.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: The die() function is used to end the code, it is not necessary, but good to use to ensure no more code is executed after the redirect.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is an example of a 404:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
header("HTTP/1.1 404 Not Found");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  4 - file_get_contents
&lt;/h1&gt;

&lt;p&gt;This function retrieves the HTML contents of a website. If you ever work with APIs in PHP, you will have to use this function quite a bit. This example gets and echos the HTML contents of riverside.rocks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nb"&gt;file_get_contents&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"https://riverside.rocks"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I hope you enjoyed reading and keep coding!&lt;/p&gt;

&lt;p&gt;~ Riverside Rocks&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Scripting To Save Lives: A COVID-19 Charity where Developers can pitch in.</title>
      <dc:creator>RiversideRocks</dc:creator>
      <pubDate>Thu, 16 Apr 2020 16:09:30 +0000</pubDate>
      <link>https://dev.to/riversiderocks/scripting-to-save-lives-a-covid-19-charity-where-developers-can-pitch-in-4p1p</link>
      <guid>https://dev.to/riversiderocks/scripting-to-save-lives-a-covid-19-charity-where-developers-can-pitch-in-4p1p</guid>
      <description>&lt;h1&gt;
  
  
  Introduction:
&lt;/h1&gt;

&lt;p&gt;Recently, the world has been swept with the COVID-19 pandemic. Recently a few developers from the Glitch community and I founded &lt;a href="https://scriptingtosavelives.com"&gt;scriptingtosavelives.com&lt;/a&gt;. Let me explain how it works. Visitors have three main ways of helping out.&lt;/p&gt;

&lt;h1&gt;
  
  
  The first way to help:
&lt;/h1&gt;

&lt;p&gt;The first way to help us out is to donate code. Donating code makes the website look better and may even prompt more people to donate! More on that &lt;a href="https://github.com/RiversideRocks/ScriptingToSaveLives"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The second way to help:
&lt;/h1&gt;

&lt;p&gt;Visitors can create there own subdomain of our website tailored to their town! Just fill out the form &lt;a href="https://developers.scriptingtosavelives.com"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The third way to help:
&lt;/h1&gt;

&lt;p&gt;Visitors can donate money to one of the causes that we have showcased on our website. These causes need a lot of help now and we are proud to advertise them!&lt;/p&gt;

&lt;p&gt;See you on &lt;a href="https://ScriptingToSaveLives.com"&gt;scriptingtosavelives.com&lt;/a&gt;!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
