From feab0c3a875339107c05f8e30024a60c2addadea Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sat, 10 Jul 2021 18:12:27 -0600 Subject: [PATCH] Add local spammer database and spam submission API --- apiconfig.php | 7 +++++ database.mwb | Bin 0 -> 6731 bytes database.mwb.bak | Bin 0 -> 6672 bytes endpoints/net.contactspam.php | 14 ++++++++++ endpoints/net.contactspam.submit.php | 40 +++++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 database.mwb create mode 100644 database.mwb.bak create mode 100644 endpoints/net.contactspam.submit.php diff --git a/apiconfig.php b/apiconfig.php index d043f7d..23eceb6 100644 --- a/apiconfig.php +++ b/apiconfig.php @@ -65,6 +65,13 @@ $APIS = [ "domain (optional)" => "" ] ], + "net/contactspam/submit" => [ + "load" => "net.contactspam.submit.php", + "vars" => [ + "email (optional)" => "", + "ipaddr (optional)" => "" + ] + ], "net/geoip" => [ "load" => "net.geoip.php", "vars" => [ diff --git a/database.mwb b/database.mwb new file mode 100644 index 0000000000000000000000000000000000000000..299305dd47f781b80825e5e70ac6ddbbc3926896 GIT binary patch literal 6731 zcmZ`;Wl$VIvR<4JoCOwwy98gHK+r(2#oe8tK>`G~;Oqhc0t5|CfZ)O1oj`Ec4YIhy zBX@Om_g>wbnyw!CzM87;>hDJnL=goQ2tWp40ve%kb*ArHidRGc0PQsZfDZrwES)Vp z9Ic$(IUPTkb9y;C92n`jZ3rd!ADQGJT8A&nw3_4N*i^3|(=7A93yWB?|Ae&chGSTp4j9SxNuTpi2D6_mw-2ClBMO|Dt@GZ5Kz{V z61gwv6LM%2E&$4iN%C#=RWP2~x}PY1riU5{M;~}Ot3x0lxKwCXTY$WN>&jrT4B;9^~0q<)rbB;{=@z>3X`#fWm{Qi6$t@aV?e`t%Phq zN>Zy^8MAZsyQ@Pa0^o%iQis`8ac)LHA`5OaUoMM*0-&QVExtRi6K)cSKnlCAZaEv$ zUX~?>!l)2B|iLkgybtpbY8JJk5OH15^cxB zZBKu5C3%(C_VguV{;mw{l2$H{SQ0lsbI0*5IVW4_sS9fu1pPqk4uS36zhs*?860Tl zag4?l7+oN#HZC-%eAn&pyTl?jjf4ET3LIf>;O9(ozjdJ+IgMX!xYl8|-2n~cU{4be z?9bRu$U7-khtBwxkaP**F|GWF_79chH4$aPE!pD-WaM`PwD zp2<{qer9fA z9R_U1pbg}~>SJkL1YXXliz}vJ8`B5qz9I)+nBCDL%865FB&sOQ!q`a^;i!Vp@u$XF`H%VCcvgZ@3Zf z`^e^#Nw>0g8fTdeiQVJ`nh?BPv${dmXQ|_uHnUDjj4lU0$#dLCN8dD<6<>YK#5WKc0(kk^!COp9*~RR zspEv9m->K%@p#c2q#^Jx+qt#o$R7xy-mRBu;m_0Zu$nE0 zASE+0gD>o7WWwzUigyM&yeCz~$?y)Cuw;z;=q74Q347){cyu&h$%i-GjYpNbS7pg=WO~7aTwNd6 z57q!;E6ePEE;u5EJwpe~V8rx;O?Tx5X04WFEl239$ZIV{DPd2c;iUURS2Y>o;N>lF zb-#qdTlY3wwO+)!NCX(hiTNkEGFDQT1SCYwg2|`+re1tK{q4xiOVbi5($E$&eC@n) z*ZPo3a`bsLGb8-E4M~uj)_h@fm(r?j+;WdumMHE!&7*oa`U@DM{glNkD(ymU4Hd_4 z{bpSN=ydN$)esE0Fu-nqGj{A+mzPZ&#u|ucCu|-fGQ^5$p)|3RyN3QldC;P<|v@S&TK6#Oc&gz?xBe*!T`}?8qS6f z^1tGJ6;&_mY9&g@63LU@gkIheIz#*%CxSs6C9BHrHJa2xOr3n>rzMiT+VS)=U3GGi zuWOY!kwFqUh3ix}eiA~Wb}G!Z_sPvM&q$^d`p6@80~s2{;{0%qEvtlt!VVM5`ON){yG8{WFtIzo3oCj6zYv1DOy_MEWbb40jO%EhC3vyye##vuIycb_ z)8h%GlOAU{Ez0r$dV~E5G(C%_hhNt*rin-0YPKN7VY3U~ug~!%$+&*KodfsXkisT=Oa_rNKb;%OMqu4CAfasg zROwC@d`j0CT@6#=yXnPxTw3IsK}0U}&Mu?Dao7Y68rrtYD~cBu#v6)@&&+YUx0XW@ z1YtWeNzv&<+c^AOSCwe6-y;Au@82OP%Xr;cP+#YM!SVNDpBPFO+vyj(Pueno4=-W+)mowUTb~L? z6C~K&SN`fP#$*1)27lrCMuqfUgb`SBsJ?IRvX}JeyBfzZ=B-+M)iXz$B7u$RkM45= z$OMDQalG_5*ELUb{YRVhZQl*p zH9d!o$kpm`%&2@YYtj3Z)_)UR=Ap3shvTY%XrANz#1QU??KSULw?poh7)iHiV-K@g@43s>^2$5 z!gY6T3@Qp)Gzv64J)csMCRyP-09zt*Xh`=(H%r3J_o+9N-J4s)MO(=#FGcB5%J%CM z@tqGXj2-2B3q!o5Fhz~DTZr(TTOQc8-sr5HelE$&!$UhpOufF_g$(y;3SdekVf%LRX0K`}JlFlZglJf@l$#67pd;Eoy)}FVFg-46IAN z&Sk4kXj**%i56RJyz3`8?~3e;r;>O}l8K<-Za`Xn#X6`3XMX+N<4yIQV_u`_USEy&Cj47Ma3)F zAVVLF<}<~c_W^Q2V?#|a2v;xFy3*n3nmjbU)mu!#^~E~2>uFL_1q=FelHe<+kgwV8 z(maAkqBvJ*eBUqz%^jSEe^x&eRQ#$KXMCEuR6IPiz~~g?jm68@Z+K}R=i#3uNKkzg+Uw^u4!}+bNQeHl4@UjeH zsA1QtyQ2FQA0Zm+gBD9pVRBfgE__8c*HoxZ{EoyqTiqsPYOUw^T0&;+F|l@cN~eU;QgVv!^dysoL~W!D zt2wEJV_a5Jf&3eh=#Ql;lZV9`)9LMkk^M^^;7>~ZcJuqc?@E=U#B#z)XlbgdBq+(dTgKc(KI^61yxXIwT__Isl2{uc}0LS6JE2kufD@+E&*^xE9q zbs%(Bb?bx(FAU^)6nEVw+S=R#iU}{gE!MHT5&61ap%L2a51(3}&sv%)sp4RIiV}F( z$(UF6BX!pD{)rEYMn~~-<7y4WmRyTM+Jq@)WjDX`jQ4QM(^cAZnNuY|6Z-0RcVC8W zSUyL6oBlJ;gQ4!~T``KNh1i-(HSqXD14HphPS*Sad?cc|QJo&KLliKZ zufO2W)laM69K@AJaeDYxy@Xd4S5b#C!b})swc$TScF_r{>Qf(Yw&rq6>KknNUm0d! zd~<60zz|HE*}ElJn}RL*fyQ1m^vEkA)Gg3;l50ZJ>I$MmG$~5Ivq?G+Fb#=jd8sCe zufL$;!kQVl#*|5olUdkaUu++-CHTU*U=@|Nlju;IvOKaWvgMdRtrXnASzGE}fmK9a4OsQRk{Wp!>wlak*umDL6EQvnowb zc^;_B`;F&8^i}yAQxZ=KB?Xr8iZQpGBci&EkMjnbysD*@sc%?4Ok*a*sa!)f7KmP? z_N*uGh?TrmQ>yq7DbisR6fGR?Gw0IaD_xL9zzEwuYKzs*I^pqnd+l*mQbu8e^u z4Wz6`%R({(W+j}#@}v*^aR*4+d%lCOlUEqJ=bQQJRr)onR=dGUXlzmoW)GMlmTB?t zr6k@MjNbUj{;tBIMZ*$6&WmASL7XY7nSXV5S2hT&!acI$X1!20Vw2Z_G8oNRDeDl+ zGAX2Fr$ssKTGphMXboK&A!=CD1VqrF14oIHHCl0>(GoDXY}hoBf2*SoBvC27SEuZ1 zfq5pq+Wx8TJ>)Y&etsj0DJGJe5XVIt0Iy)P;`IHQTLT#8vKq4AVprrKDG3NY7GlyX zQ5O1=7p*E@&dEI8k2!T-OyHNr)3<$gx}8GFrM>a?)6C(^->y-!ZWi)wzx0^-f@mG1 z+H$|(Rdls?yu+AGuELwv=BqXz;z`XQ+{i$sl`B(pK+_LPv^ii}BTa&pP*sL?Fe}K! zD@Xd|b<0-#kc!hUhyJeNF9A7HfTJWI(Up>k2Cc2q+wqyqJ8udJoK7KBA#1HGrSpi|#h20H1<^-g+&2U8!UMbS_>h_LTp4l# zRB*M{trE%trvH(1A*{nt>R%)!~> z9S~Pa2^?3!#z{9|EP4?_TH2!ykZiyyh3YVEE zEAB>R1y1HoPnKM~z%+ZK_dC=VUo+nrSP36LFgPC2UaFor#ak3`ok93lwv=@2phJ35EQt9&D_H zDcsFQlGi7{B=-2JxF?a-n3@Ec8aH>4;np} z`(DD*%|MWlWk=rdhm$V%nr3?D4{DGpnPd})IdagdDx{}}mp4J>HK>p$PyFlq*$_Pn zG-v=eyTZW9BQYZrKIQ{Tlwoh_S>MsW(@^!))Q#}~1e2mXrGW(ic>d)6BMk?s%Fa{V zpuVpKT=eQ=8nu+ej?9QghG1DbJvan@90fj=231L1(lx1`3ZqGS#FQfefVr+q+2xOz#T2-g{c#jK0q z4{t*IM{X)yAD6S{p{6?*ib>wb0Ayd7Ji}06fp*f5`_DCxJ0bp&GF74SkBSV6`vK?d zkdBYg7sb?9hld$~eJc-%I{sTF`O{s}TRwsvYAIwvL-GzjjYQq@Zz5zxdcl)8QVw_) z4qs5CZBNdv^JeVZwGTQ}Q0ipW=UwtB>(+#+5{SeWHx-7DQS4zo3iUpl4F%3k1(lg; zL3_N4n$G0mj(vuVCH2TJ)Zh_t4$Jj+aQ9*T&B+&aeIo;n^5=S8lm}rSN0x3ZQ_{Wf z5<@D>_Cy@My327Z23hvIbh5-4w=WU=kvNDU^mR#o=-;k~+rV#Rq^><*kYAAS)=$#N zT+|Uc&{vc>Ch@1bE}M~>QD5rn+wsTgrwhU~#JXE5hsGW)Hcw0gFqXNAa$e$AH~;Kk z1z*dCV*9+BQT2ac*Rq|*T)WNVyC@XC!sP`|aK_ad($^Xz)_M01Yxj(`DMRV>SdX_K zzP4!=ZmTZ;xV1C&Ac3(QxG3G~eNTGO%zNQ(Ha~^Llo@T&yxT%JQ8w(O&tNq=HA@q| zN3QgXXx7y*su&?i!;9~FkNNyhWSH&h^8l2hPZ>gVojZjL@42fScvMY(Uhjohb9B;e zzVy|lOY3y#iu^XrpF#OE>1G(e#Wj7N#93HJ^XMvWM^~vK$4>%*6O3%;M{ztFi`C}U zT+cg#8SS@U`u>g!)_>h5L#LH0cYmZ17t#?EXqX*m*wkSx5CYT*ZIdR@`-@m;%_e?dIz87zLI z|Lg~}^#%u`h=eSG^8bH}JQdMDMorLP_kTZ0{>A=#_uu65@A=;m7{mnpr+EI0@&5_u zKk)!SO_0hH<3H+`=RcYMt=9j|oF@KXOo$@dU-^F0Z&bj>lP4wv0A2xY$O@zkD%H7S|(e1CQWBm_T Cr<*DO literal 0 HcmV?d00001 diff --git a/database.mwb.bak b/database.mwb.bak new file mode 100644 index 0000000000000000000000000000000000000000..6fd611e2ef5e8053c32f9a9507a25e102c2998cd GIT binary patch literal 6672 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"net.contactspam_spammers", ["ip" => $clientip])) { + exitWithJson(["status" => "OK", "clean" => false, "filter" => "netsyms_ip_blacklist", "hit" => $clientip, "message" => "A computer at your IP address has sent spam in the past. Your message has been blocked."]); + } + } + if (!empty($clientip)) { + if ($database->has("net.contactspam_spammers", ["email" => $email_lower])) { + exitWithJson(["status" => "OK", "clean" => false, "filter" => "netsyms_email_blacklist", "hit" => $clientip, "message" => "Someone put your email as the from address on a spam message. Your message has been blocked."]); + } + } +} + // // Well if we got here then the message tested negative for spam // diff --git a/endpoints/net.contactspam.submit.php b/endpoints/net.contactspam.submit.php new file mode 100644 index 0000000..fb288fc --- /dev/null +++ b/endpoints/net.contactspam.submit.php @@ -0,0 +1,40 @@ +has("net.contactspam_spammers", ["email" => $fromemail])) { + $database->update("net.contactspam_spammers", [ + "entrylastreported" => date("Y-m-d H:i:s"), + "reportcount[+]" => 1 + ], ["email" => $fromemail]); + } else { + $database->insert("net.contactspam_spammers", [ + "entrylastreported" => date("Y-m-d H:i:s"), + "reportcount" => 1, + "email" => $fromemail + ]); + } +} + +if (!empty($clientip) && filter_var($clientip, FILTER_VALIDATE_IP)) { + if ($database->has("net.contactspam_spammers", ["ip" => $clientip])) { + $database->update("net.contactspam_spammers", [ + "entrylastreported" => date("Y-m-d H:i:s"), + "reportcount[+]" => 1 + ], ["ip" => $clientip]); + } else { + $database->insert("net.contactspam_spammers", [ + "entrylastreported" => date("Y-m-d H:i:s"), + "reportcount" => 1, + "ip" => $clientip + ]); + } +} + +// +// Well if we got here then the message tested negative for spam +// +exitWithJson(["status" => "OK"]);