Jump to content

Community

Mark

Invision Community Team
  • Content Count

    36,129
  • Joined

  • Days Won

    108

Mark last won the day on January 31

Mark had the most liked content!

About Mark

  • Rank
    IPS Developer
  • Birthday 03/04/1992

Profile Information

  • Gender
    Male
  • Location
    Sydney, Australia

Recent Profile Visitors

144,455 profile views
  1. You should invest in a password manager πŸ˜‰
  2. For a straightforward total of all account credit: SELECT SUM( CAST( JSON_EXTRACT( cm_credits,'$.USD' ) AS DECIMAL(20,2) ) ) FROM core_members WHERE cm_credits IS NOT NULL To count only positive amounts (because people can have negative balances): SELECT SUM( GREATEST( CAST( JSON_EXTRACT( cm_credits,'$.USD' ) AS DECIMAL(20,2) ), 0 ) ) FROM core_members WHERE cm_credits IS NOT NULL; Requires MySQL 5.7 or higher. Replace "USD" with the currency code you're using.
  3. I think you may have misunderstood the way the header works. X-XSS-Protection basically provides a way to the browser "if anything on this page looks suspicious, don't run it" (either the whole page or just the bit that looks suspicious). It isn't supported by all browsers (Firefox, for example, doesn't support it). In theory it's a reasonable idea, although a pretty weak protection - it only benefits the users of those browsers from being victims of XSS attacks if your server has already been compromised. Web applications therefore need to take much more sensible measures against XSS protection such as ensuring proper escaping of output (to stop them happening at all), http-only cookies (so even if there is an XSS exploitation it can't access your cookies), etc. We do all of this. So in other words: all it provides is a very weak level of protection against something the backend already has much better protection for. And, as @Makoto points out, it kind of sucks at doing even that; it is known to have bugs and ironically, some of those bugs cause security issues themselves. Also, there are known ways to bypass it. That's probably why some browsers don't even support it. Normally, it would barely be worth any thought and we would leave it at the default value. But it was breaking things with false-positives (i.e. it was thinking that code we deliberately wanted to run was suspicious) so turned it off. Apparently we are not alone in going for this option: I just quickly checked Google and Facebook, and both have it turned off (full disclosure: the other two sites I checked, Twitter and Amazon, don't). You can turn it back online with a plugin or via your server configuration if you really want to, and it's also possible that the Content-Security-Policy header which we do have a setting for will override it (you'll have to check each browser), but we're not going to add a setting specifically for it. -- tldr: It's a thing that isn't supported by all browsers, with a much grander sounding name than it deserves, which is buggy, and was breaking things. You don't need it on.
  4. Have you submitted a ticket so the support team can look into it?
  5. It won't get overridden unless you're uploading the full set of files every upgrade.
  6. Just don't create add any servers - the features sort of have to be specifically enabled.
  7. If you don't want to change anything, you don't have to. Everything will continue working as it does now. If, however, you did want to migrate to Braintree, you have two options: The sensible option is probably to set up Braintree and use it for new purchases. Keep your PayPal gateway set up but disabled to new purchases. That way, new purchases will use Braintree, but any existing billing agreements will continue to churn away without lost revenue. If you wanted, you could cancel all the Billing Agreements with PayPal, and then when it gets to people's expiry dates, they will receive an email asking them to pay, and that would allow them to set up a new billing agreement using Braintree.
  8. You should see this: And then the form your screenshotted is what appears if you click "Continue as New Member".
  9. I still use an RSS client πŸ˜…
  10. PHP 7.1 or higher required (no particular recommendation beyond that other than of course the latest is always a good idea). MySQL 5.5.3 or higher required, 5.6.2 or higher recommended (though again, latest is always a good idea).
  11. There is backwards compatibility so you should be fine πŸ™‚ If you want to update it, we don't have any specific documentation, but if you take a look at one of our login handlers, the methods are all well documented.
  12. Not to the end user. Mostly from people who either didn't read the terms and got their accounts closed or are confused about how chargebacks work (which is not something the gateway has any control over).
  13. End-to-end encryption is not really possible as there is no method for storing the keys in a browser with reliable persistence (unlike in a mobile app). Note that "secret comversations" in Facebook Messenger, for example, can only be created and viewed on their mobile app, not their website.
  14. Not at this time. Most gateways, including Stripe, Braintree, and PayPal, do not allow most types of adult content. It was probably that. Obviously this is out of our control. I have expensive tastes πŸ˜‚ (also specific purchase amounts trigger certain behaviours when in testing mode).
  15. Yes it is. Just like with Stripe you set up each as a separate payment method (but using the same credentials). This allows you to control where they are available (for example, since Apple Pay cannot handle recurring payments you might want to offer that only for products which don't have renewals). They will automatically hide if the user's device doesn't support them (Apple Pay can only be used on Apple products, for example). You can set the "Available To" setting in a payment method (which controls which countries it is available to) to none of them, which effectively "disables" a payment method. You can keep using Stripe for cards and just switch to Braintree for PayPal. If you wanted to switch everything to Braintree to have everything in one location, you would lose cards customers have stored on file (though this would be handled gracefully - they'll just be sent an invoice like they would if their card had expired).
Γ—
Γ—
  • Create New...