Censoring Smurfed!


  • sockdevs

    Censoring is defeated by viewing raw or by quoting the post containing the censored text in full.

    for testing purposes: belgium


  • sockdevs

    Belgium!


  • sockdevs

    @accalia said:

    Belgium!


  • sockdevs

    By Belgium's Belgium! It's all Belgium'd up!


  • area_pol

    For me it displays black squares in the editor when quoting (but still shows "belg"+"ium" in raw post).

    Anyway, why is there such a feature at all? And why "belg"+"ium"?


  • sockdevs

    @Adynathos said:

    Anyway, why is there such a feature at all?

    To filter out bad words; the list of words to censor is maintained by the admin team

    @Adynathos said:

    And why "belg"+"ium"?

    Because we're TDWTF ;)


  • mod

    As for view raw: that should be fully expected. You're looking at the raw text, before any transforms are applied to it. Why would you expect the raw to be censored?

    Regarding full quotes, well, they use the raw. Though it would make sense to apply the censor filter there.


  • mod

    @Adynathos said:

    For me it displays black squares in the editor when quoting

    Are you doing a full quote or "select and quote reply"? The first will show belgium, the second will show belgium.

    @Adynathos said:

    Anyway, why is there such a feature at all?

    Censoring is a common forum feature.

    @Adynathos said:

    And why "belg"+"ium"?

    I refer you to the entry in the Discopædia on Belgium.



  • @abarker said:

    belgium

    I think you just found an easier way than OP.


  • mod

    belgium
    b­elgium
    b<o>elgium

    It's really easy to defeat. I've even seen the OP use some of these.



  • @Adynathos said:

    Anyway, why is there such a feature at all?

    A paying discustomer requested it. Like the other features we abused it for our amusement.


  • sockdevs

    @abarker said:

    It's really easy to defeat. I've even seen the OP use some of these.

    that third one is a new one on me. the other two.;... guilty as charged.



  • When I want to say Belgium, I usually just type Bel­gium, then copy-paste from the preview like this: Bel­gium


  • sockdevs

    oh. now that is a clever one.....

    /me tries to figure out how you did that.

    NO HINTS! i'll figure it out....


  • Grade A Premium Asshole

    @PleegWat said:

    When I want to say ■■■■■■■, I usually just type Bel­gium, then copy-paste from the preview like this: Bel­gium

    How the hell does that work??

    Better question...where is there a Discourse install where we could test this at? You know...to be thorough...and offend people.


  • sockdevs

    @accalia said:

    NO HINTS! i'll figure it out....

    ah. hi there &shy; i don't often see you without your entity code escape....



  • Yes, that's what I said in the original post. I type it with the entity, then copy-paste the version with the base character from the preview to the post. Hopefully sometimes leading to people wondering how the hell I did that.


  • sockdevs

    it did this time. ;-)


  • mod

    @accalia said:

    /me tries to figure out how you did that.

    NO HINTS! i'll figure it out....

    He told you how he did that. All you have to do is [spoiler]view raw[/spoiler].


  • sockdevs

    @abarker said:

    All you have to do is view raw.

    that's cheating! :stuck_out_tongue:

    okay it works, but still!


  • sockdevs

    @Polygeekery said:

    @PleegWat said:
    When I want to say ■■■■■■■, I usually just type Bel­gium, then copy-paste from the preview like this: Bel­gium

    How the hell does that work??

    Your own quoting is a pretty big hint :stuck_out_tongue:



  • @Adynathos said:

    Anyway, why is there such a feature at all? And why "belg"+"ium"?

    It's from a very rare book that I'm sure nobody else has ever heard of.

    (Is that worth a Hipster Point, or do I have to blather on about how I met Douglas Adams in an underground coffee shop and gave him the entire idea for "Long Dark Teatime of the Soul" and then watched in silent shock as he stole my chips?)

    "Why did he tell me to win awards?"

    "Just showbiz talk," shrugged the girl. "He's just won an award at the Annual Ursa Minor Alpha Recreational Illusions Institute Awards Ceremony, and was hoping to be able to pass it off lightly, only you didn't mention it, so he couldn't."

    "Oh," said Arthur, "oh, well I'm sorry I didn't. What was it for?"

    "The Most Gratuitous Use Of The Word 'Fuck' In A Serious Screenplay. It's very prestigious."

    -- "Life, The Universe and Everything", Douglas Adams (1982), Chapter 21.

    That was the original text in the UK printing. When the US version of the book was published the word "Fuck" was considered possibly offensive and changed to "Belgium". The rest is history.



  • @PleegWat said:

    Hopefully sometimes leading to people wondering how the hell I did that.

    And occasionally, the &shy; will actually fulfill its intended purpose:


  • Impossible Mission Players - A

    Once in a while I like to eat Belgium waffles. Sounds better than eating out belgium tacos I think...
    Belgium the belgium belgium­ers that belgium'ed all of the belgium­ers!
    ­­­■■■■■■ ■■ ■■■ ■■■■■■■■ ■■■■ ■■■■■■■ ■■■■■■■■ ■■■■?



  • @Tsaukpaetra said:

    ■■■■■■ ■■ ■■■ ■■■■■■■■ ■■■■ ■■■■■■■ ■■■■■■■■ ■■■■?

    No comprende; cannot read in raw.


  • mod

    I think that's the point.



  • Well of course not. We only have 5-letter and 7-letter censored words.


  • Discourse touched me in a no-no place

    @abarker said:

    Why would you expect the raw to be censored?

    The usual expectation is that censoring happens on the server-side (for example when the post is being inserted into the database.)

    On here, IIRC, the censoring is actually happening on the client via javascript after the post has been rendered (i.e. it gets re-rendered by the censoring js.)


  • sockdevs

    @PJH said:

    On here, IIRC, the censoring is actually happening on the client via javascript after the post has been rendered (i.e. it gets re-rendered by the censoring js.)

    In the name of all that is right and good in the world... :WTF: that completely defeats the puropose of censoring the content!


  • area_deu

    @PJH said:

    for example when the post is being inserted into the database

    And what happens with existing posts if the censoring rules change?


  • Discourse touched me in a no-no place

    @aliceif said:

    And what happens with existing posts if the censoring rules change?

    Was only a f'rinstance. Thinking about it, it's more likely to be applied coming out of the database but before going on the wire.

    Either way, I'm sure most implementations do whatever it is on the server, not the client.



  • @accalia said:

    @PJH said:
    On here, IIRC, the censoring is actually happening on the client via javascript after the post has been rendered (i.e. it gets re-rendered by the censoring js.)

    In the name of all that is right and good in the world... :WTF: that completely defeats the puropose of censoring the content!

    How does it do that? What was the purpose of censoring that you had in mind?


  • sockdevs

    @boomzilla said:

    What was the purpose of censoring that you had in mind?

    well ideally for it to go away, but if you're going to do it you rather need to censor at the server level. it's pointless to censor at the client.



  • If the point of censoring is to stop little kids or grandmas from seeing bad words like B‌elgiu‌m, it's probably sufficient to do it on the client. Of course you won't stop hackers from seeing the bad words if they try, but that's not the goal of a word filter.



  • @accalia said:

    well ideally for it to go away, but if you're going to do it you rather need to censor at the server level. it's pointless to censor at the client.

    But if your purpose is simply not to display it, client side works fine. We're talking about a profanity censor, not a Chicom Big Brother censor.



  • New censor regex: s/[^w]*//g



  • @boomzilla said:

    But if your purpose is simply not to display it, client side works fine.

    Except spoilers, which are visible in all their glory before the censoring gets applied. Which is far dumber than a failure to filter profanity.



  • I quite like that it's done client side, this does not modify the raw. And filtering could be a user setting, which I like..



  • @PJH said:

    On here, IIRC, the censoring is actually happening on the client via javascript after the post has been rendered (i.e. it gets re-rendered by the censoring js.)

    No, it happens in the code that is synced to be the same on server/client (the "baking" code) ;)

    Remember that what actually gets delivered in a topic view is the cooked HTML, that's why the raw button needs a network request.

    This does mean that it only gets applied to old posts when a global rebake happens. I think we're still on VERSION=1 for global rebakes?



  • @HardwareGeek said:

    @boomzilla said:
    But if your purpose is simply not to display it, client side works fine.

    Except spoilers, which are visible in all their glory before the censoring gets applied. Which is far dumber than a failure to filter profanity.

    My post was assuming something operating like the profanity censor, where all that's displayed is the censored stuff. The spoiler stuff works well on normal text. The <details> tag works better to hide stuff, but does FF even support that yet? Or did we have some sort of a hack to make it work or something?


  • Discourse touched me in a no-no place

    @boomzilla said:

    The <details> tag works better to hide stuff, but does FF even support that yet? Or did we have some sort of a hack to make it work or something?

    The latter. It's the minified script at the top of </head>


  • sockdevs

    @PJH said:

    The latter.

    that one i found! it's still working after all this time too!

    mainly because it doesn't try to hook into anything discourse i think. ;-)



  • Given the image issues behind spoilering, is it worth considering using the details tag instead on the custom spoiler button?



  • Add the discourse-details plugin, it contains the FF polyfill.

    NOTE: Does not work on IE9.



  • @riking said:

    NOTE: Does not work on IE9.

    Didn't dicsource abandon IE9 support in its core?


  • Winner of the 2016 Presidential Election

    @DCRoss said:

    (Is that worth a Hipster Point, or do I have to blather on about how I met Douglas Adams in an underground coffee shop and gave him the entire idea for "Long Dark Teatime of the Soul" and then watched in silent shock as he stole my chips?)

    Did he leave you with a parting "So long, and thanks for all the fish and chips"?


  • sockdevs

    @riking said:

    Add the discourse-details plugin, it contains the FF polyfill.

    we already have a polyfill for that (the same one that plugin is based on i think.



  • [details=Collapsed Text]>Did you consider that maybe the plugin is already installed?[/details]

    (view raw)



  • I suspect the advantage of using the plug-in is that someone else will (hopefully) update it when the deck chairs are rearranged and all of our custom JS breaks (such as looms over us currently).



  • [details=It's already installed >.>]Continuing the discussion from [Docker] Upgrades:

    @PJH said:

    Details (7b1efb4) Up to date

    [/details]

    Speaking of which, blocking all clicks in the composer is a :100: :heavy_division_sign: stupid workaround


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.