[ home ] [ math / cs / ai / phy / as / chem / bio / geo ] [ civ / aero / mech / ee / hdl / os / dev / web / app / sys / net / sec ] [ med / fin / psy / soc / his / lit / lin / phi / arch ] [ off / vg / jp / 2hu / tc / ts / adv / hr / meta / tex ] [ chat ] [ wiki ]

Viewing source code

The following is the source code for post >>>/meta/535

>>534
Links are cloaked and put through \`exit?u=ENCODED_URL\` in order to display Mathchan's exit point disclaimer. This is done for the following two reasons:
\begin{itemize}
\item To protect users from accidentally clicking on harmful links that are posted on Mathchan  (such phishing sites or sites with criminal content) before Mathchan's staff is alerted and has a chance to take it down.
\item To disassociate Mathchan from any websites users link to as well as hint the search engines that Mathchan does not want to associate with these sites (All user-generated links have \`rel="ugc nofollow"\`)
\end{itemize}
Trusted sites (like links to Mathchan itself) are not put through disclaimer and resolve immediately. Links to some well-known sites (like Google, Youtube, Reddit, Twitter etc.) are \textbf{distrusted} by default because privacy conscientious users may not agree with privacy policy of these sites and do not want to let them know Mathchan was the site that referred them. Therefore, these sites have to go through the exit point too. When user settings becomes available there will be an option to whitelist certain sites in order to circumvent the disclaimer for sites you trust. URLs to websites that Mathchan trusts are going to have direct links but for now \`\url\` and \`\href\` commands put all URLs through the exit point.


>If mathchan dies, links in threads people may have backed up or archive die too
If Mathchan is recursively mirrored then exit points ought to be mirrored with it too. Exit points contain a real URL so there would be no issue following the links on Mathchan's future archive.

Also, URLs are not shortened, nor encrypted. They are just encoded and can be easily reconstructed by replacing \`._-\` with \`+/=\` and running them through a base64 decoder (which is  the current way Mathchan encodes URLs). Creating a URL shortener or encrypting URLs was in consideration but that would require us to maintain database of shortened URLs or an encryption key with no real benefits of doing so. If any of these are lost, all links on Mathchan would be dead. Unfortunately, encoding URLs has a significant drawback that URL shortening does not in that long URLs would become even longer, possibly exceeding the maximum size of a GET request. This is a small price to pay for the benefits of doing it so ridiculously long URLs (longer than 2048 characters) are simply unsupported by Mathchan.

Why are URLs encoded when it was much easier to just do \`exit?u=<URL>\`? Because a link such as \`https://mathchan.org/exit?u=https://terrorism.org/\` would appear to casual users, as well as search engines, that Mathchan is linking to terrorism without viewing our disclaimer. A link such as \`https://mathchan.org/exit?u=aHR0cHM6Ly90ZXJyb3Jpc20ub3JnLw--\` alone appears like it could link to any resource until you open it to see what it links to, coupled with the disclaimer for users, and \`rel="nofollow"\` for search engines. Search engines are not going to go the extra step to try and interpret \`aHR0cHM6Ly90ZXJyb3Jpc20ub3JnLw--\` but they can easily consider \`https://terrorism.org/\` a URL slug and tank Mathchan's rankings. Not that we would ever allow linking to criminal activity like terrorism but search engines usually index pages faster than moderators have the time to act. On the other hand, search engines like when a site is linking to other sites but those are only going to be the sites \textbf{we trust} and currently we trust none.

\textbf{TL;DR:}
Without considerations given above, giving users the \`\url{...}\` and \`\href{...}{...}\` commands would be highly dangerous for both Mathchan users and the site itself.

>Perhaps this is OK or intended in sites designated for ephemeral discussion
Image boards are ephemeral by design. Old threads archive on their own and are eventually pruned.
Mathchan Wiki will be permanent but external links will also go through the exit point.