incredible that this work, cant wait to try it out

thanks

d


On Feb 15, 11:21 am, Massimo Di Pierro <[email protected]>
wrote:
> import base64, re
> BADWORDS=re.compile(base64.b64decode("""KGFob2xlfGFudXN8YXNoMGxlfGFzaDBsZXN­8YXNob2xlc3xhc3N8YXNzfGFzc2ZhY2V8YXNzaDBsZXxhc3NoMGxlenxhc3Nob2xlfGFzc2hvbG­VzfGFzc2hvbHp8YXNzd2lwZXxhenpob2xlfGJhc3N0ZXJkc3xiYXN0YXJkfGJhc3RhcmRzfGJhc­3RhcmR6fGJhc3RlcmRzfGJhc3RlcmR6fGJpYXRjaHxiaXRjaHxiaXRjaGVzfGJsb3d8am9ifGJv­ZmZpbmd8YnV0dGhvbGV8YnV0dHdpcGV8YzBja3xjMGNrc3xjMGt8Y2FycGV0fG11bmNoZXJ8Y2F­3a3xjYXdrc3xjbGl0fGNudHN8Y250enxjb2NrfGNvY2toZWFkfGNvY2staGVhZHxjb2Nrc3xjb2­Nrc3Vja2VyfGNvY2stc3Vja2VyfGNyYXB8Y3VtfGN1bnR8Y3VudHN8Y3VudHp8ZGlja3xkaWxkM­HxkaWxkMHN8ZGlsZG98ZGlsZG9zfGRpbGxkMHxkaWxsZDBzfGRvbWluYXRyaWNrc3xkb21pbmF0­cmljc3xkb21pbmF0cml4fGR5a2V8ZW5lbWF8ZmFnfGZhZzF0fGZhZ2V0fGZhZ2cxdHxmYWdnaXR­8ZmFnZ290fGZhZ2l0fGZhZ3N8ZmFnenxmYWlnfGZhaWdzfGZhcnR8ZmxpcHBpbmd8dGhlfGJpcm­R8ZnVja3xmdWNrZXJ8ZnVja2lufGZ1Y2tpbmd8ZnVja3N8ZnVkZ2V8cGFja2VyfGZ1a3xmdWtha­HxmdWtlbnxmdWtlcnxmdWtpbnxmdWtrfGZ1a2thaHxmdWtrZW58ZnVra2VyfGZ1a2tpbnxnMDBr­fGdheXxnYXlib3l8Z2F5Z2lybHxnYXlzfGdheXp8Z29kLWRhbW5lZHxoMDByfGgwYXJ8aDByZXx­oZWxsc3xob2FyfGhvb3J8aG9vcmV8amFja29mZnxqYXB8amFwc3xqZXJrLW9mZnxqaXNpbXxqaX­NzfGppem18aml6enxrbm9ifGtub2JzfGtub2J6fGt1bnR8a3VudHN8a3VudHp8bGVzYmlhbnxsZ­Xp6aWFufGxpcHNoaXRzfGxpcHNoaXR6fG1hc29jaGlzdHxtYXNva2lzdHxtYXNzdGVyYmFpdHxt­YXNzdHJiYWl0fG1hc3N0cmJhdGV8bWFzdGVyYmFpdGVyfG1hc3RlcmJhdGV8bWFzdGVyYmF0ZXN­8bW90aGF8ZnVja2VyfG1vdGhhfGZ1a2VyfG1vdGhhfGZ1a2thaHxtb3RoYXxmdWtrZXJ8ZnVja2­VyfGZ1a2FofGZ1a2VyfGZ1a2thaHxmdWtrZXJ8bW90aGVyLWZ1Y2tlcnxtdXRoYXxmdWNrZXJ8b­XV0aGF8ZnVrYWh8bXV0aGF8ZnVrZXJ8bXV0aGF8ZnVra2FofG11dGhhfGZ1a2tlcnxuMWdyfG5h­c3R0fG5pZ2dlcnxuaWd1cnxuaWlnZXJ8bmlpZ3J8b3JhZmlzfG9yZ2FzaW18b3JnYXNtfG9yZ2F­zdW18b3JpZmFjZXxvcmlmaWNlfG9yaWZpc3N8cGFja2l8cGFja2llfHBhY2t5fHBha2l8cGFraW­V8cGFreXxwZWNrZXJ8cGVlZW51c3xwZWVlbnVzc3N8cGVlbnVzfHBlaW51c3xwZW4xc3xwZW5hc­3xwZW5pc3xwZW5pcy1icmVhdGh8cGVudXN8cGVudXVzfHBodWN8cGh1Y2t8cGh1a3xwaHVrZXJ8­cGh1a2tlcnxwb2xhY3xwb2xhY2t8cG9sYWt8cG9vbmFuaXxwcjFjfHByMWNrfHByMWt8cHVzc2V­8cHVzc2VlfHB1c3N5fHB1dWtlfHB1dWtlcnxxdWVlcnxxdWVlcnN8cXVlZXJ6fHF3ZWVyc3xxd2­Vlcnp8cXdlaXJ8cmVja3R1bXxyZWN0dW18cmV0YXJkfHNhZGlzdHxzY2Fua3xzY2hsb25nfHNjc­mV3aW5nfHNlbWVufHNleHxzZXh5fHNoIXR8c2gxdHxzaDF0ZXJ8c2gxdHN8c2gxdHRlcnxzaDF0­enxzaGl0fHNoaXRzfHNoaXR0ZXJ8c2hpdHR5fHNoaXR5fHNoaXR6fHNoeXR8c2h5dGV8c2h5dHR­5fHNoeXR5fHNrYW5ja3xza2Fua3xza2Fua2VlfHNrYW5rZXl8c2thbmtzfHNrYW5reXxzbHV0fH­NsdXRzfHNsdXR0eXxzbHV0enxzb24tb2YtYS1iaXRjaHx0aXR8dHVyZHx2YTFqaW5hfHZhZzFuY­Xx2YWdpaW5hfHZhZ2luYXx2YWoxbmF8dmFqaW5hfHZ1bGx2YXx2dWx2YXx3MHB8d2gwMHJ8d2gw­cmV8d2hvcmV8eHJhdGVkfHh4eHxiIVwrY2h8Yml0Y2h8Ymxvd2pvYnxjbGl0fGFyc2NobG9jaHx­mdWNrfHNoaXR8YXNzfGFzc2hvbGV8YiF0Y2h8YjE3Y2h8YjF0Y2h8YmFzdGFyZHxiaVwrY2h8Ym­9pb2xhc3xidWNldGF8YzBja3xjYXdrfGNoaW5rfGNpcGF8Y2xpdHN8Y29ja3xjdW18Y3VudHxka­Wxkb3xkaXJzYXxlamFrdWxhdGV8ZmF0YXNzfGZjdWt8ZnVrfGZ1eDByfGhvZXJ8aG9yZXxqaXNt­fGthd2t8bDNpdGNofGwzaVwrY2h8bGVzYmlhbnxtYXN0dXJiYXRlfG1hc3RlcmJhdChlc3xzKT9­8bWFzdGVyYmF0M3xtb3RoZXJmdWNrZXJ8cy5vLmIufG1vZm98bmF6aXxuaWdnYXxuaWdnZXJ8bn­V0c2Fja3xwaHVja3xwaW1waXN8cHVzc2V8cHVzc3l8c2Nyb3R1bXxzaCF0fHNoZW1hbGV8c2hpX­Ct8c2ghXCt8c2x1dHxzbXV0fHRlZXRzfHRpdHN8Ym9vYnN8YjAwYnN8dGVlenx0ZXN0aWNhbHx0­ZXN0aWNsZXx0aXR0fHcwMHNlfGphY2tvZmZ8d2Fua3x3aG9hcnx3aG9yZXxkYW1ufGR5a2V8ZnV­jayhlc3xzKT98c2hpdChlc3xzKT98QFwkXCR8YW1jaWt8YW5kc2tvdGF8YXJzZShlc3xzKT98YX­NzcmFtbWVyfGF5aXJ8Ymk3Y2h8Yml0Y2goZXN8cyk/
> fGJvbGxvY2soZXN8cyk/
> fGJyZWFzdHN8YnV0dC1waXJhdGV8Y2Ficm9ufGNhenpvfGNocmFhfGNodWp8Y29jayhlc3xzKT9­8Y3VudChlc3xzKT98ZDRtbnxkYXlnb3xkZWdvfGRpY2soZXN8cyk/
> fGRpa2UoZXN8cyk/fGR1cGF8ZHppd2thfGVqYWNrdWxhdGV8ZWtyZW0oZXN8cyk/
> fGVrdG98ZW5jdWxlcnxmYWVufGZhZyhlc3xzKT98ZmFuY3Vsb3xmYW5ueXxmZWNlc3xmZWd8ZmV­sY2hlcnxmaWNrZW58Zml0dChlc3xzKT98Zmxpa2tlcnxmb3Jlc2tpbnxmb3R6ZXxmdVwoKGVzfH­MpP3xmdWsoZXN8cyk/
> fGZ1dGtyZXR6bnxnYXl8Z29va3xndWllbmF8aDByfGg0eDByfGhlbGx8aGVsdmV0ZXxob2VyKGV­zfHMpP3xob25rZXl8aHVldm9ufGh1aXxpbmp1bnxqaXp6fGthbmtlcihlc3xzKT98a2lrZXxrbG­9vdHpha3xrcmF1dHxrbnVsbGV8a3VrfGt1a3N1Z2VyfGt1cmFjfGt1cndhfGt1c2koZXN8cyk/
> fGt5cnBhKGVzfHMpP3xsZXNib3xtYW1ob29ufG1hc3R1cmJhdChlc3xzKT98bWVyZChlc3xzKT9­8bWlidW58bW9ua2xlaWdofG1vdWxpZXdvcHxtdWllfG11bGtrdXxtdXNjaGl8bmF6aXN8bmVwZX­NhdXJpb3xuaWdnZXIoZXN8cyk/
> fG9yb3NwdXxwYXNrYShlc3xzKT98cGVyc2V8cGlja2F8cGllcmRvbChlc3xzKT98cGlsbHUoZXN­8cyk/
> fHBpbW1lbHxwaXNzKGVzfHMpP3xwaXpkYXxwb29udHNlZXxwb29wfHBvcm58cDBybnxwcjBufHB­yZXRlZW58cHVsYXxwdWxlfHB1dGF8cHV0b3xxYWhiZWh8cXVlZWYoZXN8cyk/
> fHJhdXRlbmJlcmd8c2NoYWZmZXJ8c2NoZWlzcyhlc3xzKT98c2NobGFtcGV8c2NobXVja3xzY3J­ld3xzaCF0KGVzfHMpP3xzaGFybXV0YXxzaGFybXV0ZXxzaGlwYWx8c2hpenxza3JpYnp8c2t1cn­d5c3lufHNwaGVuY3RlcnxzcGljfHNwaWVyZGFsYWp8c3Bsb29nZXxzdWthfGIwMGIoZXN8cyk/
> fHRlc3RpY2xlKGVzfHMpP3x0aXR0KGVzfHMpP3x0d2F0fHZpdHR1fHdhbmsoZXN8cyk/
> fHdldGJhY2soZXN8cyk/fHdpY2hzZXJ8d29wKGVzfHMpP3x5ZWR8emFib3VyYWgp"""))
>
> class IS_NOT_BAD:
>     def __init__(self,error_message='We do not take S**t'):
>         self.error_message = error_message
>     def __call__(self,value):
>         if BADWORDS.match(value):
>             return (value,self.error_message)
>         return (value, None)
>
> db.define_table('mytable',Field('name',requires=IS_NOT_BAD()))
>
> On Feb 15, 11:52 am, greenpoise <[email protected]> wrote:
>
>
>
> > Calling out there to see common practices in web development regarding
> > spam control/word filtering. How is this handled in web development
> > once a site is developed? what are the practices? I know that captcha
> > is some sort of spam control but how about word filtering? or to
> > prevent users from entering things that do not have to do with the
> > purpose of the site?
>
> > Thanks!

Reply via email to