- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день, подскажите годится ли такая проверка от ввода посторонних смимволов?
И безопасна ли она? И есть ли вариант лучше и проще,
Спасибо.
<button title="Обновить монеты " onclick="location.href = '?id=1'">1)UPD CM</button>
<button title="Обработать монеты " onclick="location.href = '?id=2'">2)OBR CM</button>
Зависит от возможных значений. Вот, например, маска для проверки нат. чисел из 10 цифр:
Но у вас есть id=0. Нулевой id для БД является особенным. Его использование нужно специально оговаривать, хотя я тоже часто использую для главной подобный идентификатор. Также можете пробовать делать выборку из БД по любому значению, а потом сравнивать исходное и выбранное значения идентификатора (если что-то будет выбрано).
seosniks, а почему не делаете валидацию на стороне клиента?
seosniks, а почему не делаете валидацию на стороне клиента?
Валидация на клиенте для красоты и удобства, ничего общего с безопасностью не имеющая. Ибо доступ к такой валидации будет у всех, и при наличии прямых рук ее очень легко поломать. А тех, кто делает валидацию только на клиенте, надо бить по рукам. Вопрос у ТСа был как раз в безопасности
webiumpro, я не спорю. Просто задачи разные бывают
$form_validate =array("0"=>"0","1"=>"1","2"=>"2","3"=>"3","4"=>"4","5"=>"5","6"=>"6");
Такая запись, на мой взгляд, несколько странная. Можно сделать обычный массив айдишников и проверять через in_array наличие параметра в массиве, чем формировать массив с одинаковыми индексами и значениями.
А где у вас вообще айдишники хранятся? Если в базе, то конечно проще через preg_replace('/[^\d]+/', '', $_GET["id"]); оставлять только цифры в параметре, чтобы исключить инъекцию, а потом делать запрос и проверять на существование айдишника в базе, чем дергать все айдишники, а потом искать в массиве.
Я бы сделал проверку на число и дальше проверял через базу.
PS Здесь вроде ошибки возможны:
http://php.net/manual/ru/language.types.array.php
Попытка доступа к неопределенному ключу в массиве - это то же самое, что и попытка доступа к любой другой неопределенной переменной: будет сгенерирована ошибка уровня E_NOTICE, и результат будет NULL.
По идее, можно проверять сразу - число это или нет - через is_numeric.
if (isset($_GET["id"]) and is_numeric($_GET["id"]) and $_GET["id"] >= "0" and $_GET["id"] <= "6") {
} else {
exit('Ошибка );
}