I have compiled a list of items that may protect a web form from span.  Which are actually effective?  Please feel free to add additional items.   Store a code as a hidden field and verify it when submitted. Use jQuery to set the method and action fields after page loads. (Also) Use jQuery to encode the action URL Encode the entire webform and use jQuery to decode it after the page loads. Use AJAX instead of the standard submit button action. Use CAPTCHA Place CSS-hidden fields of the form that only bots will find and fill in. Recording time between page load and submission, ignore if less that 1 second. Load the form into the page via AJAX, one second after page loads.
I remember  due to misuse and I wonder if bots have a part of it. If the bot is POSTing something to my site what are ways I can combat it? I was thinking of setting some cookies and having the cookies changed via JavaScript + timestamp and sign (so yesterday's cookies can't be used today and next week).  I'm sure most people/bots would just use another site instead of enabling JavaScript in their bot.  What else can I do? I'm thinking daily POST limit and a honeypot for generic bots who just randomly post spam.
Force Messages to use SMS for specific contact rather than iMessage? Essentially, I would like to set my phone so that all my outgoing messages to a specific friend, with whom I currently text back and forth over iMessage, are sent out over SMS, never iMessage. Additionally, I would like to block any incoming iMessage texts of his and (hopefully) they'll fail and be resent via SMS.  Let me restate that: I would like to force SMS for both parties, going both ways, for a specific individual contact.   Is this possible? Blocking any usage of iMessage between myself and this other individual, so they must either send and receive any texts to or from me via SMS (or the texts fail/never arrive). There are various articles on Hearthstone opening strategy which suggest it's a bad idea to use early-game spells and summons to damage your opponent directly, and that you should instead save them for minion removal.  An example: your starting hand contains an Elven Archer, a 1-cost 1/1 minion that does a point of damage when summoned. I've seen it advised that if going first, with that card in your hand, you should not play it, but save it for minion removal.  Another example:  Going second against a Rogue with a 2-cost 2/1 Loot Hoarder, Deathrattle: draw a card in your hand. The advice was not to play it and save the coin, because on her second turn, the Rogue can generate a dagger and kill the Hoarder.   I understand why, in most circumstances, it's better to remove a minion than damage the enemy. What's bugging me about these particular opening examples is why they're a better idea than doing nothing and ending the turn.  In both cases, you've wasted a point of mana, and the chance to take the initiatve. By having a minion on the board first, you can use the following turn to attack with that minion, possibly removing an enemy summon and leaving you clear to summon onto an empty board.   The Loot Hoarder one I find particularly puzzling. If the Rogue gets a dagger and kills it, you still have the initative, you've forced the Rogue to make what's possibly a suboptimal turn-2 play, you've done 2 damage to the Rogue and you got a card into the bargain. Sounds like a pretty good use of the coin to me.  What am I missing here? I recently put a bounty on a question regarding the . I did this as the only two answers on that page are not satisfactory and I wish to encourage a tractable answer.  I am concerned that when the bounty period expires, if I do not select an answer for the bounty that it may be awarded automatically to one of these speculative and unsatisfactory answers. How might I prevent that? I could put an answer of my own stating "no satisfactory sources are available" and award the bounty to that, however I feel that there should be a better way.  I stress that I put the bounty on the question specifically because the current answers are not satisfactory and I do not want to award them. Regular cast vs. static_cast vs. dynamic_cast I've been writing C and C++ code for almost twenty years, but there's one aspect of these languages that I've never really understood. I've obviously used regular casts i.e.  MyClass *m = (MyClass *)ptr;   all over the place, but there seem to be two other types of casts, and I don't know the difference. What's the difference between the following lines of code?  MyClass *m = (MyClass *)ptr; MyClass *m = static_cast&lt;MyClass *&gt;(ptr); MyClass *m = dynamic_cast&lt;MyClass *&gt;(ptr); Check if macro is fully expandable Question  Is there a way to check whether a macro is fully expandable (or rather "safe in an expansion-only context" )?    Consider this code:  \def\a{Just a string} \def\b{\a} \def\c{\def\unsafe} \def\d{\c}   How could I check which of the macros (a-d) are safe in an expansion-only context? By looking at them I know that a and b are whereas c and d are not but if I wanted to know the same for a macro I haven't written myself this could get quite useful.      Background  I am working on a way to detect whether some input is a valid number in PGF. For this I developed  which makes use of passing the input into \pgfmathfloatparsenumber. The problem I have run into is that said macro appears to somehow manages to expand the input until there is an error (if the input is in fact not safe in an expansion-only-context). I tried using protected, noexpand and similar but somehow PGF manages to circumvent those.    So the idea is to check whether the input is safe before actually passing it to PGF. The problem is: I don't know how I'd go about that... I am typing a command, I remember I have to check something, if I press Ctrl+U the command disappears and I can type something else, but then the command I was typing is not in the history.  Is there a way to recover that command, or a different shortcut that I can press to save somewhere the command? Quote environment with reference at the end right I want to programmatically create a new column in an MS Access table.  I've tried many permutations of ALTER TABLE MyTable Add  MyField DECIMAL (9,4) NULL; and got:      Syntax Error in Field Definition   I can easily create a number field that goes to a Double type, but I want decimal.  I would very strongly prefer to do this in a single ALTER TABLE statement and not have to create a field and then alter it.   I am using Access 2003. How to draw this P-V graph? Let $f(z)$ be an entire function whose real part is bounded by a polynomial in $|z|$. Does it follow that $f(z)$ is a polynomial?  Or, without loss of generality and more suggestively $$(f(z)=\sum_{k=0}^\infty a_k z^k \quad \land \quad \operatorname{Re}(f(z))\leq |z|^n)\quad \forall z\in \mathbb{C} \qquad \Rightarrow \qquad f(z)=\sum_{k=0}^n a_k z^k \quad\forall z\in \mathbb{C}$$ Possible to get type of an aliased type in c#? Type.GetType("System.String")   Is there a lookup for the aliases available somewhere?  Type.GetType("string")   returns null. How do you concatenate matrices? And how do you make block matrices? I want to use a very long USB cable to place a webcam in a different room. The maximum length that I found was five meters.   What is the maximum length of a USB cable? What is the maximum length achievable when using USB extension cables? $a =\prod_{i = 1}^{r} p_{i}^{ai}$ with $a_{i} > 0$ for each $i$ is the canonical representation of $a$... How do I prove $\sqrt{x + y} \le \sqrt{x} + \sqrt{y}$? for $x, y$ positive?  This should be easy, but I'm not seeing how.  A hint would be appreciated. Find $\sum_{n=1}^\infty \frac{n^3}{n!}$. I have to find the sum of the following series:  $$\sum\limits_{n=1}^\infty \frac{n^3}{n!}$$  I know how to prove the convergence of this series, but how do i find the sum. I can't use the properties of derivation or integration of the series, i have to do it using the definition that a series converges iff it's sequence of partial sum converges. I'm having difficulty solving an exercise in my course.  The question is:      Prove that $n!\geq 2^n$.   We have to do this by induction. I started like this:   The lowest natural number where the assumption is correct is $4$ as: $4! \geq 2^4 \iff 24 \ge 16$. The assumption is: $n! \ge 2^n$.   Now proof for $(n+1)$ which brings me to: $(n+1)! \ge 2^{(n+1)}$  I think I can rewrite it somehow like this:  $$ {(n+1)} \times {n!}  \stackrel{\text{(definition of factorial)}}{\ge} 2^n \times 2 $$  $$ (n+1) \times 2^n \ge 2^n \times 2 $$  Then I think I can eliminate the $2^n$ and have something like this: $n+1 \ge 2$, or $n \ge 1$.  But I think I'm wrong here some where and was hoping somebody has some advice on this. How can I prove the above assumption?  Any help would be appreciated, kind regards. Push Faces Like Sketchup Is there a way in Blender to push faces like Sketchup does?     The best I can get is doing a regular extrude and a lot of work to clean the "mess" up...    Thank you for your time! What is the probability that a person is the second person to roll a 6 for the first time? Suppose $A$, $B$, and $C$ roll a die in turns. What is the probability that $A$ is the second person to roll a $6$ for the first time? I have a simple question but I am not sure on how to proceed. I would like to put 10 figures on the same page: a grid of 5 rows and 2 columns.  What should I type in order to have the figure inserted like this and with equal alignement/size ? Eventually with custom captions... ;)