PHPBB3: Ban and delete inactive users (spammers waiting for admin accept) with a single action - phpbb3

PHPBB3 with double opt-in plus individual verification of registration by admin.
Each day, a number of forum spammers register on the site, and we get the list of new users waiting for the admin to accept. We are able to see directly from the user name + email address whether it is a wanted user or not, and in uncertain cases we check with other tools.
We want to ban and never hear again. Doing this in phpbb3 is a multi-step process, it seems:
(Press Users and groups in ACP)
Select the user with a mouse click
Select IP Ban from the dropdown combo
Press Submit
Press Back to previous page
Select Email ban from the dropdown combo
Press Submit
Press Users and groups tab again, repeat on next inactive user
Finally, after (7*n) mouse clicks:
Press Users and groups
Press Mark all (and maybe unmark wanted users)
Select Delete in the dropdown combo
Press Submit
Total mouse clicks: 4+7*[number of users]. What we would WANT to do:
Select Mark all (or alternatively, check-mark a number of user names).
Press [Ban by IP, by email, delete and Goodbye forever] -button.
Is there a way in PHPBB3 to achieve this? We cannot let the list grow, for example in order to wait for an auto-expire, that would make it too hard to manage.

Mass delete is only possible for inactive users. But mass banning is possible by using the "Users and groups/Ban emails" form.
But why you want to ban them? They are probably bots so banning them may not help at all.
I suggest you to consider the following counter measures.
Set "User registration settings/Account activation" to "by user (e-mail verification)". That way, spamming is much harder because then, a spammer has to have a working e-mail address.
Install a CAPTCHA script that prevents most spambot registrations. A simple extra question on the registration form will prevent 99.9% of the spambots.
Limit user rights of new users and set "User registration settings/New member post limit" to 1 or 2, so that new spammers can't disturb real users so easily. This makes your forum less attractive target to human spammers.
What comes through after these counter measures can be handled manually like you have done so far.

Related

Lotus notes survey form

I have Created a Notes Survey form using Lotus Notes Designer.
I select "Preview in Notes" and from there i forward the survey form to end user.
However this goes as an email and End user's has to Click on reply button to select their answers and then reply.
I am looking for some Notes Script / Commands which i can embed in a Notes button on the form, which will help end user to select the answer and once done, the reply should automatically mailed back to us.
Please let me know if additional information required, related to requirement.
Note: I am new to Notes Designer, and unable to club multiple options to get this working.
This is NOT the sense of a Lotus Notes application to send the information via mail. The most you do is, to send a button with the Command #Command([Compose]; "YourServer" : "YourDatabase.nsf"; "YourForm")
To the users. When they click the button, a new document with your form is created. Then you use #Command([FileSave]) in an action to save the document. Usually one checks, using #dblookup, if there is already an entry fo that user an prohibits more than one document per user.
Then you create views to show the documents and see instantly:
How many users took part so far,
How many users selected option 1, option 2, etc.
You have all the information in one place, it is structured and can be easily read / found / evaluated.
Sending mails around would meen, that you have to collect that information yourself and count manually...

Shopping cart - preventing back button

I have a site with a shopping cart system, the issue is that we are having some members hit the remove item button, which updates the line item with a "removed" flag - then hitting the browser back button, which then shows the cart in the previous state - with the line item intact.
If they pay in this state we are getting all sorts of issues when the sales is processed as one of more of the items that they pay for don't get processed. which means we manually have to pick up the pieces at a later date.
Is there any standard way to handle this situation - ie I know we can provide an "undo" button - but the user is not always going to use it.
You have to use filter for this situation. And ya... You can also prevent user to go back by disabling back button using simple java script.
http://www.viralpatel.net
visit this one.
This will become helpful for you.
I am going to detail the solution that I am ending up with, in case other people have a similar issue.
Our payment gateway provides a way to pass custom information on to our payment process system, we are planning to pass along the id's of all items that are in the cart, and when we get them back we will use this to un-remove the removed items.
This works using the same process that is causing the issue in the first place, as the cart page does not reload on a browser back.
This is assuming that by pressing the back is the user trying to undo his action, as the payment value is confirmed prior to the sale we can be reasonably sure that the cart is how the user wanted it if its is pushed though.
we are also providing a undo system as well as having the javascript back protection in order to prevent it from being needed, 10 solutions are better than one in these situations.

How to get many values into and out of a dialog box using PyQt

I have a portable app with a complex dialog box that shows the user tabs with many (over 50) different settings values that can be changed. The user can set the values and then either press OK or Cancel.
If the user presses OK, I want the app to store the changes in the model, but if the user presses Cancel, I want the app to forget any changes that were made.
What's the best strategy for getting values into and out of the dialog?
I know how to use QDataWidgetMapper to map the model directly to widgets, but then I have an issue if the user clicks Cancel - I would have to undo all the changes made. On the other hand, if I create a dialog-specific object that stores values separately from the model, I then have to copy all the values from the model into the object and then copy them out again if the user presses OK. Any ideas?
QDataWidgetMapper is ideal for this situation and it has two submit policies. AutoSubmit and ManualSubmit. In your case, you can use the ManualSubmit and explicitly call submit() when the user presses OK or not submit at all when the user presses Cancel.

how to prevent multiple inserts when submitting an ajax form

On this problem some more people have stumbled and for non-ajax scenario there is already a solution :
How to prevent multiple inserts when submitting a form in PHP?
(answered Jan 25 '10 at 17:02)
I'd like to know how could be implemented efficiently on both the server and client side a similar solution for the following problem :
there is a wall listing containing multiple items on which the users can click an ajax-enabled "i like" button (no page reload)
the user can have multiple browser windows opened on which can click "i like" buttons
Expected :
Only the first click on the "I like" button for any of the wall items is taken at the server side into account and the following requests for the wall item are not handled anymore.
Keep track of the liked items of each user on the serverside (for example an extra database table). When a new like is going to be inserted, check if there is already an existing record in this table. If there is, the user has already liked this item and you dont't have to count it anymore.
I think the best way is to use a session variable that store the current state, ie when someone clicks you "i like", on the server side, you check the state of the SESSION var.

what is the best way to enter multiple child records in a web form

for example, we have a web form to let the user enter personal info such as address and phone number, then the user need to enter the spouse and dependents information. I usually use a gridview for this, but some users complain it is difficult to use. so what is the most user-friendly or conventional way to handle it?
thanks.
I usually use AJAX to do this. Usually a Button and/or programming triggered by an event to add form items.
For example:
Username:
Password:
(+) PHONE
.. then every time you add "+ PHONE" I would add a new set of text boxes for more phone numbers.
One option might be to have a more user-friendly form where the user fills in information for a single individual, and then an "add" button that takes the contents of the form and inserts it into the gridview where it can be reviewed while simultaneously clearing the rest of the form to allow another individual's info to be added.

Resources