{"id":250219,"date":"2017-01-19T05:13:10","date_gmt":"2017-01-19T12:13:10","guid":{"rendered":"http:\/\/css-tricks.com\/?p=250219"},"modified":"2017-01-19T08:46:07","modified_gmt":"2017-01-19T15:46:07","slug":"peoples-names-break-websites","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/peoples-names-break-websites\/","title":{"rendered":"People’s Names That Break Websites"},"content":{"rendered":"

I heard from Alex Goldman of Reply All<\/a> (a super duper very great podcast with stories loosely originating from the internet):<\/p>\n

\n

We’re doing a story about people that have names that websites and computers don’t seem to like – for example, we spoke to a guy named William Test, and a woman named Katie Test, both of whom can’t seem to keep a hotel or airplane booking because the name “test” is flagged by internal systems.<\/p>\n

We also spoke to a guy named Christopher Null who had the same problem, and woman named Joan Fread, who can’t use paypal because her last name is the same as a PHP command.<\/p>\n

I’m curious if there’s anyone in the dev community that is thinking about this, and how to deal with it. Is it even considered a problem? Is the population that this affects so small that people don’t even think about it?<\/p>\n<\/blockquote>\n

<\/p>\n

I wrote back, but that was a few months ago and I haven’t heard anything. I figured I’d post my response here since it is really an interesting topic and maybe through the comments here we can stir up some interesting bits he can use.<\/p>\n

This is my response:<\/p>\n


\n

At the end of the day, it’s sloppy programming. No software should accept a name input and at any point treat that as code. If your last name is like the famous XKCD comic<\/a>, in a well-designed system, that should be fine. <\/p>\n

There are some valid reasons to “flag” names. At my company (CodePen<\/a>), we flag names for bad language. You can’t sign up as “Sh*tf*cker Dirtyballs”. We do that on purpose, to promote a healthier community.<\/p>\n

There is a difference between names<\/em> and usernames<\/em>. It’s slightly more legit to have stricter rules around usernames. We have a file called “username_blacklist.rb” in our codebase that prevents the usage of lots of words. The reason for this isn’t because we’re worried about overriding Ruby functions or anything, but 1) We use usernames in URL’s, meaning we need to reserve some of those for our own use and 2) again, bad language filter. 3) Spam. If a username has “watchsocceronline” (for example) in it, we flag it for a spam review.<\/p>\n

The “real world” of programming is complicated. It’s not terribly surprising that companies write “band-aid code” that fixes a problem quickly instead of well. Writing code that blocks\/flags a last name of “delete” is easier to write than auditing a whole codebase for situations in which that string causes problems. <\/p>\n


\n

What experience to y’all have with this?<\/p>\n","protected":false},"excerpt":{"rendered":"

I heard from Alex Goldman of Reply All (a super duper very great podcast with stories loosely originating from the internet): We’re doing a story about people that have names that websites and computers don’t seem to like – for example, we spoke to a guy named William Test, and a woman named Katie Test, […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[1061,1060],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":359002,"url":"https:\/\/css-tricks.com\/file-scaffolding-with-hygen\/","url_meta":{"origin":250219,"position":0},"title":"File Scaffolding With Hygen","date":"December 13, 2021","format":false,"excerpt":"I read a recent Smashing Magazine post that included a recommendation for Hygen. I just happen to be doing quite a bit of new UI work in a Next.js app and the amount of manual folder\/file scaffolding I was doing was getting annoying. So the timing was perfect here. In\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/12\/hygen.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":372634,"url":"https:\/\/css-tricks.com\/using-grid-named-areas-to-visualize-and-reference-your-layout\/","url_meta":{"origin":250219,"position":1},"title":"Using Grid Named Areas to Visualize (and Reference) Your Layout","date":"August 26, 2022","format":false,"excerpt":"Whenever we build simple or complex layouts using CSS Grid, we're usually positioning items with line numbers. Grid layouts contain grid lines that are automatically indexed with positive and negative line numbers (that is unless we explicitly name them). Positioning items with line numbers is a fine way to lay\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2022\/08\/Modern-Desktop-Breakpoint.jpg?fit=1200%2C720&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":291626,"url":"https:\/\/css-tricks.com\/building-a-conference-schedule-with-css-grid\/","url_meta":{"origin":250219,"position":2},"title":"Building a Conference Schedule with CSS Grid","date":"June 24, 2019","format":false,"excerpt":"It\u2019s hard to beat the feeling of finding a perfect use for a new technology. You can read every handy primer under the sun and ooh-and-ahh at flashy demos, but the first time you use it on your own project\u2026 that\u2019s when things really click. I gained a new appreciation\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/06\/calendar-week.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":5728,"url":"https:\/\/css-tricks.com\/unicode-class-names\/","url_meta":{"origin":250219,"position":3},"title":"Unicode Characters for Class Names","date":"March 5, 2010","format":false,"excerpt":"Reader Kartlos emailed me in pointing to me to an interesting article by the great Mr. Snook from a few years back. I don't think I had seen it before and it's a bonafide \"CSS Trick\" so I thought I would share. The idea is that you can use unicode\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":343149,"url":"https:\/\/css-tricks.com\/the-dilemma-of-naming-font-size-variables\/","url_meta":{"origin":250219,"position":4},"title":"The Dilemma of Naming Font Size Variables","date":"July 6, 2021","format":false,"excerpt":"Normally, a project will have a set of pre-determined font sizes, usually as variables named in such a way that seeks some semblance of order and consistency. Any project of considerable size can use something like that. There are always headings, paragraphs, lists, etc. You could set font sizes explicitly\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/06\/animal-variable-names.png?fit=862%2C332&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":373209,"url":"https:\/\/css-tricks.com\/named-element-ids-can-be-referenced-as-javascript-globals\/","url_meta":{"origin":250219,"position":5},"title":"Named Element IDs Can Be Referenced as JavaScript Globals","date":"September 27, 2022","format":false,"excerpt":"Did you know that DOM elements with IDs are accessible in JavaScript as global variables? It\u2019s one of those things that\u2019s been around, like, forever but I\u2019m really digging into it for the first time. If this is the first time you\u2019re hearing about it, brace yourself! We can see\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2022\/09\/id-element-hashtag.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250219"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=250219"}],"version-history":[{"count":2,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250219\/revisions"}],"predecessor-version":[{"id":250223,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/250219\/revisions\/250223"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=250219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=250219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=250219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}