Проверьте, имеет ли переменная число php

Мои знания о покупке InApp получены из более старой библиотеки v2. Я не работал с новейшей версией 3. Тем не менее, надеюсь, я все еще могу быть полезным.

Да, использование полезной нагрузки разработчика в качестве дополнительной функции безопасности, безусловно, поможет, однако, стоит вам или нет, вероятно, более субъективно, чем объективная дилемма. В моем случае в моем клиенте уже был сервер, так как покупатели должны были загрузить 200 МБ файлов после покупки через приложение. Мы использовали полезную нагрузку разработчика для хранения информации о файле, разрешенном для загрузки. Эта информация имела решающее значение в сообщении приложению о том, как обрабатывать загруженные файлы.

Мы по-прежнему обеспечили дополнительную безопасность, переопределив локальный метод verifyPurchase() с помощью вызова сервера. IE, поставляя наш собственный nonce для проверки. Делать это локально не очень безопасно.

Что касается вашей ситуации, я говорю, что это вопрос риска против стоимости. Каков риск того, что ваше приложение будет взломано и клиенты будут обходить покупки по сравнению со стоимостью внедрения дополнительной безопасности. Если ваше приложение загружается более 100 000 раз, у вас есть достаточный риск. Если более 1 миллиона раз, тогда существует высокий риск. Если только несколько тысяч, то пиратство, вероятно, пропустит ваше приложение. Если вы выбираете дополнительную безопасность, вам нужно настроить и запустить сервер, а затем добавить весь код и подтверждение связи, необходимые для приложения и сервера. Все это потребует времени и денег. Особенно в оплате сервера в течение срока службы вашего приложения.

19
задан Scott 23 May 2009 в 15:14
поделиться

4 ответа

Вы можете использовать функцию strcspn :

if (strcspn($_REQUEST['q'], '0123456789') != strlen($_REQUEST['q']))
  echo "true";
else
  echo "false";

strcspn возвращает длину части, не содержащей целых чисел. Мы сравниваем это с длиной строки, и если они различаются, значит, должно быть целое число.

Для этого нет необходимости вызывать механизм регулярных выражений.

69
ответ дан 30 November 2019 в 01:49
поделиться
$result = preg_match("/\\d/", $yourString) > 0;
12
ответ дан 30 November 2019 в 01:49
поделиться

Это должно вам помочь:

$numberOfNumbersFound = preg_match("/[0-9]+/", $yourString);

Вы можете получить больше от функция preg_match, поэтому посмотрите ее руководство

4
ответ дан 30 November 2019 в 01:49
поделиться

вы можете использовать этот шаблон для проверки вашей строки с помощью регулярных выражений:

$isNumeric = preg_match("/\S*\d+\S*/", $string) ? true : false;
-2
ответ дан 30 November 2019 в 01:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: