- Was kannst du gut?Frage an Selbstständige / Freelancer:
In welcher Nische arbeitet ihr und wie habt ihr eure Nische gefunden?
Also soweit ich weiss braucht du bei der HTTP Auth immer einen Usernamen UND ein Passwort. Der auth_basic ist quasi nur dafür da Bereiche zu definieren zu denen du Zugriff gewähren willst."Moderne" Software ins Gas:
Ich versuche, das hier zu produzieren:
Oldschool HTTP Authentifizierung, im Browser, bei der der Server "401 Unauthorized" sagt, und dann der Juhser Nutzername und Passwort angeben soll.
Dafür bin ich dieser Anleitung gefolgt: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
Mein Problem ist, dass ich dem Juhser noch eine Message mitgeben will, also das was in diesem Screenshot offenbar geklappt hat (denn eigentlich will ich nur ein Passwort, und nicht Nutzernamen UND Passwort). Dafür ist offenbar der Paramter bei auth_basic vorgesehen. Der wird von meinem Server auch brav in dem Header mitgegeben, wie ich in curl sehe. ABER WIESO ZUM FICK ZEIGEN DIE BROWSER VON HEUTE DIE NACHRICHT NICHT AN VERFICKTE SCHEISSE NOCH MAL FURRYFOX UND CHROME BEIDE INS GAS
Aber na ja. Ich habe mal gelesen, dass man für ein gutes User Interface sowieso immer davon ausgehen sollte, dass der Benutzer überhaupt nichts liest, egal wie wenig. Also ist das mit dem Nachricht mitgeben vielleicht eh 'ne Schnapsidee. Was schlagt ihr dazu vor?
Edit: Wahrscheinlich ist die Tatsache, dass die Browser das nicht mehr anzeigen, das Ergebnis eines jüdischen Komplottes, der einen dazu bringen soll, die Webseiten mit Cookies/Javascript/PHP/Webframework-des-Monats und sonstiger Bloatware zu gestalten, anstatt einfache traditionelle Technologien zu benutzen.
Reicht dir ne einfache Alert Box? 1 Zeiler in JavaScriptJa, genau. Aber ich will die Seite quasi mit einem "Einladungs-Code" schützen. Und jetzt hätte ich gerne, dass da im Hinweistext so etwas steht wie: "Der Nutzername ist "hallo", das Passwort ist der Einladungscode." Oder auch: "Der Nutzername und das Passwort sind beide identisch zum Einladungscode." Aber da die Browser diese Nachricht nicht anzeigen, muss ich wohl auf was anderes zurückgreifen.
Ja man muss auch mal gucken wofür AuthName eigentlich gedacht ist. Ein bisschen zweckentfremdet hast du es ja schon.Lel, tatsächlich, gerade ausprobiert, aktuelle Browser zeigen was man als "AuthName" konfiguriert bzw. was im Header als realm geschickt wird einfach nicht mehr an. Was für eine behinderte Scheisse.
Wobei wirklich verwundern tut es mich nicht. Das geht ja schon seit Jahren so dass entweder Google oder Apple (ab und an auch Mozilla) irgend einen Scheiss einfallen lassen und die anderen beiden dann nachziehen, weil super-innovativ und muh.
Allein der Einstellungs-Dialog von heutigen Browsern... Ist alles nur noch auf den gemeinen Dumm-User ausgelegt den man von technischen Details fernhalten will weil zu kompliziert und verwirrend. Könnt ich mich gerade wieder aufregen...
Aber ja, mit Basic Auth wirst du da dann nicht weiterkommen.
Mach entweder so ne Billig-Passwortabfrage mit Javascript oder ne einfach Abfrage mit PHP oder so.
Alternativ: statische Hauptseite wo du den Hinweis draufschreibst und dann nen Link zu der Unterseite mit Basic Auth
Würde einfach Konqueror als Browser nehmen. Jede Seite die sich damit nicht aufrufen lässt sollte man sowieso links liegen lassen."Moderne" Software ins Gas:
Ich versuche, das hier zu produzieren:
Oldschool HTTP Authentifizierung, im Browser, bei der der Server "401 Unauthorized" sagt, und dann der Juhser Nutzername und Passwort angeben soll.
Dafür bin ich dieser Anleitung gefolgt: https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/
Mein Problem ist, dass ich dem Juhser noch eine Message mitgeben will, also das was in diesem Screenshot offenbar geklappt hat (denn eigentlich will ich nur ein Passwort, und nicht Nutzernamen UND Passwort). Dafür ist offenbar der Paramter bei auth_basic vorgesehen. Der wird von meinem Server auch brav in dem Header mitgegeben, wie ich in curl sehe. ABER WIESO ZUM FICK ZEIGEN DIE BROWSER VON HEUTE DIE NACHRICHT NICHT AN VERFICKTE SCHEISSE NOCH MAL FURRYFOX UND CHROME BEIDE INS GAS
Aber na ja. Ich habe mal gelesen, dass man für ein gutes User Interface sowieso immer davon ausgehen sollte, dass der Benutzer überhaupt nichts liest, egal wie wenig. Also ist das mit dem Nachricht mitgeben vielleicht eh 'ne Schnapsidee. Was schlagt ihr dazu vor?
Edit: Wahrscheinlich ist die Tatsache, dass die Browser das nicht mehr anzeigen, das Ergebnis eines jüdischen Komplottes, der einen dazu bringen soll, die Webseiten mit Cookies/Javascript/PHP/Webframework-des-Monats und sonstiger Bloatware zu gestalten, anstatt einfache traditionelle Technologien zu benutzen.
Stimme prinzipiell zu, aber es ist immer noch besser als http unverschlüsselt. Bei cert+mitm können 1 person mehr mitlauschen als gewollt, bei reinem http ohne nix können alle mitlauschen.Kurzfassung in meinen Worten: Die von CAs signierten Zertifikate sollen eigentlich gegen Man-in-the-Middle-Angriffe helfen, aber das tun sie nicht wirklich, ...
Vielleicht sollte man doch Honest Achmed als CA (Certification Authority) zulassen:Heute ist ein Let's Encrypt Root Zertifikat abgelaufen, und dadurch halten Geräte die schon länger nicht mehr upgedatet wurden jetzt viele HTTPS-Seiten für unsicher.
(Heise.de hat so weit ich das sehe dazu nichts geschrieben, die sind damit ausgelastet, über Jeff Bezos' Penisraketen zu schreiben und darüber dass Scarlet Johannson sich mit Disney geeinigt hat. Schöne Techniknewsseite die wir da haben.)Let’s Encrypt’s root certificate is about to expire, and it might break your devices – TechCrunch
One of the largest providers of HTTPS certificates, Let’s Encrypt, will stop using an older root certificate next week — meaning you might need to upgrade your devices to prevent them from breaking. Let’s Encrypt, a free-to-use non-profit, issues certificates that encrypt the connections between...www.tech-gate.org
Dadurch bin ich jedenfalls auf diese Fundamentalkritik am HTTPS-Wesen gestoßen:
Kurzfassung in meinen Worten: Die von CAs signierten Zertifikate sollen eigentlich gegen Man-in-the-Middle-Angriffe helfen, aber das tun sie nicht wirklich, denn wenn jemand einen Man-in-the-Middle-Angriff machen kann, dann könnte er auch die Zertifikat-Erneuerung man-in-the-middeln (zumindest die von Let's Encrypt) und würde damit dann wieder als vertrauenswürdige Quelle erscheinen. Die Authentizität der Webseite wird durch HTTPS also nicht wirklich bestätigt. Außerdem ist das automatische Renewal mit Certbot ein Sicherheitsrisiko, denn dabei werden Sachen aus dem Indaned runtergeladen und in den Webserver reingesteckt. Dass man alle 3 Monate erneuern muss, nötigt einen außerdem dazu, es automatisch zu machen, sodass man sich dieser Gefahr aussetzen muss.
Laut diesem Artikel wäre es also eigentlich smarter, wenn Webseiten selbst-signierte Zertifikate verwenden würden, und die Endgeräte "Trust on first use"-mäßig vorgehen. (Meines Wissens macht es das Gemini-Protokoll auch genau so, und bei SSH funktioniert es ja auch so.) Damit hätte man auch Verschlüsselung, die Authentizität der Webseiten würde auch ein Stück weit sicher gestellt werden (in dem Sinne dass es die gleiche Webseite ist wie die mit der man sich beim ersten Mal verbunden hat), und man wäre nicht mehr auf die Gnade der Certification Authorities angewiesen. Allerdings wird das nicht passieren, denn alle Webbrowser außer Chrome sind irrelevant, und Chrome wird von Google kontrolliert, welches wiederum vom heutigen HTTPS-Wesen profitiert.
Für mich hört sich das plausibel und berechtigt an. Vielleicht kann aber jemand der davon mehr Ahnung hat seinen Senf dazu geben. Bitte darüber diskutieren.
Es ist ein sehr schädliches Trojanisches Pferdevirus
(if FLG.FNAME set)
+=========================================+
|...original file name, zero-terminated...| (more-->)
+=========================================+
Stalin Sort is a single-pass sort that operates in O(1) space and O (N) time. Iterate down the list of elements checking if they are in order. Any element which is out of order is sent to the gulag (eliminated from the list). At the end you have a sorted list, though it may not be a permutation of the original list. As an example, the list (1 2 5 3 5 7) is Stalin-sorted as (1 2 5 5 7); the 3 is dropped because it is less than the 5 that it follows.
Your task is to write a program that implements Stalin sort. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.
Quelle: Dicker IT-BloggerOR replace($1,'_','') LIKE '%kneee_groe%'
CREATE OR REPLACE FUNCTION is_terrorism (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%did911%'
OR replace($1,'_','') LIKE '%support%isis%'
OR replace($1,'_','') LIKE '%isis%support%'
OR replace($1,'_','') LIKE '%join%isis%'
OR replace($1,'_','') LIKE '%isismember%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_child_exploitation (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%ped(o|0)(f|ph)(i|1)le%'
OR replace($1,'_','') SIMILAR TO '%isa%ped(o|0)%'
OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%m(o|0)lest%'
OR replace($1,'_','') SIMILAR TO '%m(o|0)lest%(child|kid|minor|miner)%'
OR replace($1,'_','') SIMILAR TO '%touch%(child|kid|minor|miner)%'
OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(i|1){0,1}st%'
OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(i|1){0,1}ng%'
OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(e|3)%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%(child|kid|minor|miner)%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%(child|kid|minor|miner)%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%(child|kid|minor|miner)%'
OR replace($1,'_','') LIKE '%kinderficker%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_hateful (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%n(i|1|l|j|y)*(g|9|b|q){2,3}(e|3|u){0,1}r%'
OR replace($1,'_','') SIMILAR TO '%n(i|1|l|j|y)+(g|9|b|q){2,3}(a|4)%'
OR replace($1,'_','') SIMILAR TO '%kn(e|3)+g(e|3|a)+r+%'
OR replace($1,'_','') SIMILAR TO '%kn(e|3)+_g(e|3|a)+r+%'
OR replace($1,'_','') LIKE '%n_gg_r%'
OR replace($1,'_','') LIKE '%n_iggr%'
OR replace($1,'_','') LIKE '%ni_ggr%'
OR replace($1,'_','') LIKE '%nig_gr%'
OR replace($1,'_','') LIKE '%nigg_r%'
OR replace($1,'_','') LIKE '%n_ggr%'
OR replace($1,'_','') LIKE '%higger%'
OR replace($1,'_','') LIKE '%reggin%'
OR replace($1,'_','') LIKE '%aggin%'
OR replace($1,'_','') LIKE '%kneegro%'
OR replace($1,'_','') LIKE '%nee_gr_%'
OR replace($1,'_','') LIKE '%neeg_r%'
OR replace($1,'_','') LIKE '%nee_g_r%'
OR replace($1,'_','') LIKE '%nig_ger%'
OR replace($1,'_','') LIKE '%nie_ger%'
OR replace($1,'_','') LIKE '%nick_ger%'
OR replace($1,'_','') LIKE '%nickger%'
OR replace($1,'_','') LIKE '%nick_gur%'
OR replace($1,'_','') LIKE '%nickgur%'
OR replace($1,'_','') LIKE '%nigur%'
OR replace($1,'_','') LIKE '%nie_gur%'
OR replace($1,'_','') LIKE '%niegur%'
OR replace($1,'_','') LIKE '%nee__grow%'
OR replace($1,'_','') LIKE '%nig__ger%'
OR replace($1,'_','') LIKE '%nickger%'
OR replace($1,'_','') LIKE '%nirgger%'
OR replace($1,'_','') LIKE '%isaniger%'
OR replace($1,'_','') LIKE '%nlrgger%'
OR replace($1,'_','') LIKE '%nl_gger'
OR replace($1,'_','') LIKE '%n_iggers%'
OR replace($1,'_','') LIKE '%nikggers%'
OR replace($1,'_','') LIKE '%nljkjggers'
OR replace($1,'_','') LIKE '%nekker%'
OR replace($1,'_','') LIKE '%ni1ngeger%'
OR replace($1,'_','') LIKE '%nigge%'
OR replace($1,'_','') LIKE '%n1gg1er%'
OR replace($1,'_','') LIKE '%n1gg_ass%'
OR replace($1,'_','') LIKE '%n1gg_er%'
OR replace($1,'_','') LIKE '%kneagar%'
OR replace($1,'_','') LIKE '%figger%'
OR replace($1,'_','') LIKE '%nl_gger%'
OR replace($1,'_','') LIKE '%n_igger%'
OR replace($1,'_','') LIKE '%kn33gr0w%'
OR replace($1,'_','') LIKE '%kneee_groe%'
OR replace($1,'_','') LIKE '%knegrow%'
OR replace($1,'_','') LIKE '%nik6k6erz%'
OR replace($1,'_','') LIKE '%nik6k6er%'
OR replace($1,'_','') SIMILAR TO '%(hate|kill|keel|hang|burn|gasthe)%(black|bl4ck|black|jew|trans|gay|african|afrikan|minorit|asian|nig|n1g)%'
OR replace($1,'_','') SIMILAR TO '%black%(ape|monkey|jail|baboon|gorilla|hate|chimp)%'
OR replace($1,'_','') SIMILAR TO '%blacklives{0,1}dontmatter%'
OR replace($1,'_','') SIMILAR TO '%white%(power|supremac)%'
OR replace($1,'_','') SIMILAR TO '%slav(e|3)%'
OR replace($1,'_','') SIMILAR TO '%b(e|3)(a|4)n(e|a|3)r%'
OR replace($1,'_','') SIMILAR TO '%h(o|0)l(o|0)caust%'
OR replace($1,'_','') SIMILAR TO '%h(o|0)l(o|0)cuast%'
OR replace($1,'_','') LIKE '%1488%'
OR replace($1,'_','') LIKE '%ad_lf%'
OR replace($1,'_','') LIKE '%h_tl_r%'
OR replace($1,'_','') LIKE '%auschwit%'
OR replace($1,'_','') LIKE '%siegheil%'
OR replace($1,'_','') LIKE '%sieg_heil%'
OR replace($1,'_','') SIMILAR TO '%seek{1,2}yle%'
OR replace($1,'_','') LIKE '%hilter%'
OR replace($1,'_','') LIKE '%klan%'
OR replace($1,'_','') SIMILAR TO '%f(a|4)(g|9){2}(o|0)t%'
OR replace($1,'_','') SIMILAR TO '%tr(a|4)nn(y|ies)%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_harassment (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%isa%(pedo|ped0|whore|wh0re|slut|s1ut|tard)%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_violence (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%'
OR replace($1,'_','') SIMILAR TO '%(kill|keel|hang|burn)%(black|bl4ck|black|jew|trans|gay|african|afrikan|minorit|asian|nig|n1g)%'
OR replace($1,'_','') LIKE '%gasthe%'
OR replace($1,'_','') LIKE '%porvi__larme%'
OR replace($1,'_','') LIKE '%porvi_larme%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_tragedy (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%george%floyd%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_selfharm (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%killmyself%'
OR replace($1,'_','') SIMILAR TO '%su(i|1)c(i|1)d(e|3)%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_sexual (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%'
OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%'
OR replace($1,'_','') SIMILAR TO '%c(o|0)ck%'
OR replace($1,'_','') SIMILAR TO '%d(o|0)ng%'
OR replace($1,'_','') SIMILAR TO '%d(i|1)ck%'
OR replace($1,'_','') SIMILAR TO '%b(o|0)n(e|3)r%'
OR replace($1,'_','') SIMILAR TO '%d(i|1)ld(o|0)%'
OR replace($1,'_','') SIMILAR TO '%p(e|3)+n(i|1|l)(s|5)%'
OR replace($1,'_','') SIMILAR TO '%dixiew{0,1}re(c|k)%'
OR replace($1,'_','') SIMILAR TO '%p(o|0)rn%'
OR replace($1,'_','') SIMILAR TO '%pu(s|5)(s|5)(y|i|ee|1|33)%'
OR replace($1,'_','') SIMILAR TO '%c(o|0)(o|0)ch%'
OR replace($1,'_','') SIMILAR TO '%(cum|kum|come|c0me)%(mouth|face|ass|guzzle|breast|tit)%'
OR replace($1,'_','') SIMILAR TO '%(wallow|wollow|wall0w|w0ll0w|woll0w|w0llow|waiiow|walo|wolow|w0low|wol0w|w0l0w)%(cum|kum|com|c0m)%'
OR replace($1,'_','') SIMILAR TO '%mast(u|e){0,1}rbat(e|ion)%'
OR replace($1,'_','') LIKE '%vagina%'
OR replace($1,'_','') LIKE '%mikehawk%'
OR replace($1,'_','') LIKE '%ballsack%'
OR replace($1,'_','') LIKE '%foreskin%'
OR replace($1,'_','') LIKE '%butthole%'
OR replace($1,'_','') LIKE '%clitoris%'
OR replace($1,'_','') LIKE '%erection%'
OR replace($1,'_','') LIKE '%love%anal%'
OR replace($1,'_','') LIKE '%inmyass%'
OR replace($1,'_','') LIKE '%schwanz%'
OR replace($1,'_','') LIKE '%cewall_w%'
OR replace($1,'_','') LIKE '%icewoll%'
OR replace($1,'_','') LIKE '%porc_jerme%'
OR replace($1,'_','') LIKE '%porvi__larme%'
OR replace($1,'_','') LIKE '%porvi_larme%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_drugs (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%cocaine%'
OR replace($1,'_','') LIKE '%ketamine%'
OR replace($1,'_','') LIKE '%opium%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_derogatory (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%retard%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_profanity (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%(c|k)(u|v)n{1,2}t%'
OR replace($1,'_','') SIMILAR TO '%sh(i|1)t%'
OR replace($1,'_','') SIMILAR TO '%hurens(o|0)hn%'
OR replace($1,'_','') LIKE '%b_tch%'
OR replace($1,'_','') LIKE '%f_ck%'
OR replace($1,'_','') LIKE '%fukc%'
OR replace($1,'_','') LIKE '%mike_hunt%'
OR replace($1,'_','') LIKE '%mikehunt%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_blasphemy (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)di(o|0)%'
OR replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)mad(o|0)nna%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_marijuana (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') LIKE '%marijuana%'
OR replace($1,'_','') LIKE '%420blazeit%'
$$ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION is_sex_insult (VARCHAR) RETURNS BOOLEAN STABLE AS $$
SELECT replace($1,'_','') SIMILAR TO '%wh(o|0)re%'
OR replace($1,'_','') SIMILAR TO '%s(l|1)ut%'
$$ LANGUAGE SQL;
Alter wasHier hat angeblich jemand den Usernamenfilter von Twitch aus dem Leak extrahiert. Mein persönliches Highlight:
Quelle: Dicker IT-Blogger
Ich lach mich grad schlapp:
(das beste sind die unzähligen Schreibweisen von n****r)
SQL:CREATE OR REPLACE FUNCTION is_terrorism (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%did911%' OR replace($1,'_','') LIKE '%support%isis%' OR replace($1,'_','') LIKE '%isis%support%' OR replace($1,'_','') LIKE '%join%isis%' OR replace($1,'_','') LIKE '%isismember%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_child_exploitation (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%ped(o|0)(f|ph)(i|1)le%' OR replace($1,'_','') SIMILAR TO '%isa%ped(o|0)%' OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%m(o|0)lest%' OR replace($1,'_','') SIMILAR TO '%m(o|0)lest%(child|kid|minor|miner)%' OR replace($1,'_','') SIMILAR TO '%touch%(child|kid|minor|miner)%' OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(i|1){0,1}st%' OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(i|1){0,1}ng%' OR replace($1,'_','') SIMILAR TO '%(child|kid|minor|miner)%r(a|4|8)+y*p(e|3)%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%(child|kid|minor|miner)%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%(child|kid|minor|miner)%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%(child|kid|minor|miner)%' OR replace($1,'_','') LIKE '%kinderficker%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_hateful (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%n(i|1|l|j|y)*(g|9|b|q){2,3}(e|3|u){0,1}r%' OR replace($1,'_','') SIMILAR TO '%n(i|1|l|j|y)+(g|9|b|q){2,3}(a|4)%' OR replace($1,'_','') SIMILAR TO '%kn(e|3)+g(e|3|a)+r+%' OR replace($1,'_','') SIMILAR TO '%kn(e|3)+_g(e|3|a)+r+%' OR replace($1,'_','') LIKE '%n_gg_r%' OR replace($1,'_','') LIKE '%n_iggr%' OR replace($1,'_','') LIKE '%ni_ggr%' OR replace($1,'_','') LIKE '%nig_gr%' OR replace($1,'_','') LIKE '%nigg_r%' OR replace($1,'_','') LIKE '%n_ggr%' OR replace($1,'_','') LIKE '%higger%' OR replace($1,'_','') LIKE '%reggin%' OR replace($1,'_','') LIKE '%aggin%' OR replace($1,'_','') LIKE '%kneegro%' OR replace($1,'_','') LIKE '%nee_gr_%' OR replace($1,'_','') LIKE '%neeg_r%' OR replace($1,'_','') LIKE '%nee_g_r%' OR replace($1,'_','') LIKE '%nig_ger%' OR replace($1,'_','') LIKE '%nie_ger%' OR replace($1,'_','') LIKE '%nick_ger%' OR replace($1,'_','') LIKE '%nickger%' OR replace($1,'_','') LIKE '%nick_gur%' OR replace($1,'_','') LIKE '%nickgur%' OR replace($1,'_','') LIKE '%nigur%' OR replace($1,'_','') LIKE '%nie_gur%' OR replace($1,'_','') LIKE '%niegur%' OR replace($1,'_','') LIKE '%nee__grow%' OR replace($1,'_','') LIKE '%nig__ger%' OR replace($1,'_','') LIKE '%nickger%' OR replace($1,'_','') LIKE '%nirgger%' OR replace($1,'_','') LIKE '%isaniger%' OR replace($1,'_','') LIKE '%nlrgger%' OR replace($1,'_','') LIKE '%nl_gger' OR replace($1,'_','') LIKE '%n_iggers%' OR replace($1,'_','') LIKE '%nikggers%' OR replace($1,'_','') LIKE '%nljkjggers' OR replace($1,'_','') LIKE '%nekker%' OR replace($1,'_','') LIKE '%ni1ngeger%' OR replace($1,'_','') LIKE '%nigge%' OR replace($1,'_','') LIKE '%n1gg1er%' OR replace($1,'_','') LIKE '%n1gg_ass%' OR replace($1,'_','') LIKE '%n1gg_er%' OR replace($1,'_','') LIKE '%kneagar%' OR replace($1,'_','') LIKE '%figger%' OR replace($1,'_','') LIKE '%nl_gger%' OR replace($1,'_','') LIKE '%n_igger%' OR replace($1,'_','') LIKE '%kn33gr0w%' OR replace($1,'_','') LIKE '%kneee_groe%' OR replace($1,'_','') LIKE '%knegrow%' OR replace($1,'_','') LIKE '%nik6k6erz%' OR replace($1,'_','') LIKE '%nik6k6er%' OR replace($1,'_','') SIMILAR TO '%(hate|kill|keel|hang|burn|gasthe)%(black|bl4ck|black|jew|trans|gay|african|afrikan|minorit|asian|nig|n1g)%' OR replace($1,'_','') SIMILAR TO '%black%(ape|monkey|jail|baboon|gorilla|hate|chimp)%' OR replace($1,'_','') SIMILAR TO '%blacklives{0,1}dontmatter%' OR replace($1,'_','') SIMILAR TO '%white%(power|supremac)%' OR replace($1,'_','') SIMILAR TO '%slav(e|3)%' OR replace($1,'_','') SIMILAR TO '%b(e|3)(a|4)n(e|a|3)r%' OR replace($1,'_','') SIMILAR TO '%h(o|0)l(o|0)caust%' OR replace($1,'_','') SIMILAR TO '%h(o|0)l(o|0)cuast%' OR replace($1,'_','') LIKE '%1488%' OR replace($1,'_','') LIKE '%ad_lf%' OR replace($1,'_','') LIKE '%h_tl_r%' OR replace($1,'_','') LIKE '%auschwit%' OR replace($1,'_','') LIKE '%siegheil%' OR replace($1,'_','') LIKE '%sieg_heil%' OR replace($1,'_','') SIMILAR TO '%seek{1,2}yle%' OR replace($1,'_','') LIKE '%hilter%' OR replace($1,'_','') LIKE '%klan%' OR replace($1,'_','') SIMILAR TO '%f(a|4)(g|9){2}(o|0)t%' OR replace($1,'_','') SIMILAR TO '%tr(a|4)nn(y|ies)%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_harassment (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%isa%(pedo|ped0|whore|wh0re|slut|s1ut|tard)%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_violence (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%' OR replace($1,'_','') SIMILAR TO '%(kill|keel|hang|burn)%(black|bl4ck|black|jew|trans|gay|african|afrikan|minorit|asian|nig|n1g)%' OR replace($1,'_','') LIKE '%gasthe%' OR replace($1,'_','') LIKE '%porvi__larme%' OR replace($1,'_','') LIKE '%porvi_larme%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_tragedy (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%george%floyd%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_selfharm (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%killmyself%' OR replace($1,'_','') SIMILAR TO '%su(i|1)c(i|1)d(e|3)%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_sexual (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}ng%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(e|3)%' OR replace($1,'_','') SIMILAR TO '%r(a|4|8)+y*p(i|1){0,1}st%' OR replace($1,'_','') SIMILAR TO '%c(o|0)ck%' OR replace($1,'_','') SIMILAR TO '%d(o|0)ng%' OR replace($1,'_','') SIMILAR TO '%d(i|1)ck%' OR replace($1,'_','') SIMILAR TO '%b(o|0)n(e|3)r%' OR replace($1,'_','') SIMILAR TO '%d(i|1)ld(o|0)%' OR replace($1,'_','') SIMILAR TO '%p(e|3)+n(i|1|l)(s|5)%' OR replace($1,'_','') SIMILAR TO '%dixiew{0,1}re(c|k)%' OR replace($1,'_','') SIMILAR TO '%p(o|0)rn%' OR replace($1,'_','') SIMILAR TO '%pu(s|5)(s|5)(y|i|ee|1|33)%' OR replace($1,'_','') SIMILAR TO '%c(o|0)(o|0)ch%' OR replace($1,'_','') SIMILAR TO '%(cum|kum|come|c0me)%(mouth|face|ass|guzzle|breast|tit)%' OR replace($1,'_','') SIMILAR TO '%(wallow|wollow|wall0w|w0ll0w|woll0w|w0llow|waiiow|walo|wolow|w0low|wol0w|w0l0w)%(cum|kum|com|c0m)%' OR replace($1,'_','') SIMILAR TO '%mast(u|e){0,1}rbat(e|ion)%' OR replace($1,'_','') LIKE '%vagina%' OR replace($1,'_','') LIKE '%mikehawk%' OR replace($1,'_','') LIKE '%ballsack%' OR replace($1,'_','') LIKE '%foreskin%' OR replace($1,'_','') LIKE '%butthole%' OR replace($1,'_','') LIKE '%clitoris%' OR replace($1,'_','') LIKE '%erection%' OR replace($1,'_','') LIKE '%love%anal%' OR replace($1,'_','') LIKE '%inmyass%' OR replace($1,'_','') LIKE '%schwanz%' OR replace($1,'_','') LIKE '%cewall_w%' OR replace($1,'_','') LIKE '%icewoll%' OR replace($1,'_','') LIKE '%porc_jerme%' OR replace($1,'_','') LIKE '%porvi__larme%' OR replace($1,'_','') LIKE '%porvi_larme%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_drugs (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%cocaine%' OR replace($1,'_','') LIKE '%ketamine%' OR replace($1,'_','') LIKE '%opium%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_derogatory (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%retard%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_profanity (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%(c|k)(u|v)n{1,2}t%' OR replace($1,'_','') SIMILAR TO '%sh(i|1)t%' OR replace($1,'_','') SIMILAR TO '%hurens(o|0)hn%' OR replace($1,'_','') LIKE '%b_tch%' OR replace($1,'_','') LIKE '%f_ck%' OR replace($1,'_','') LIKE '%fukc%' OR replace($1,'_','') LIKE '%mike_hunt%' OR replace($1,'_','') LIKE '%mikehunt%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_blasphemy (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)di(o|0)%' OR replace($1,'_','') SIMILAR TO '%p(o|0)rc(o|0)mad(o|0)nna%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_marijuana (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') LIKE '%marijuana%' OR replace($1,'_','') LIKE '%420blazeit%' $$ LANGUAGE SQL; CREATE OR REPLACE FUNCTION is_sex_insult (VARCHAR) RETURNS BOOLEAN STABLE AS $$ SELECT replace($1,'_','') SIMILAR TO '%wh(o|0)re%' OR replace($1,'_','') SIMILAR TO '%s(l|1)ut%' $$ LANGUAGE SQL;