Ну, самая большая проблема безопасности связана с взаимодействием с базой данных (SQL-инъекция), так что вы, вероятно, захотите поместить свою лицензию в белый список с помощью регулярного выражения ...
if(preg_match('/^[a-z0-9]$/', $license)) {
// Ok to proceed with database interaction...
} else {
die('NO USAGE FOR YOU!');
}
Убедитесь, что вы неиспользуя eval () или `` (<= это обратные тики) с входящими значениями. </p>
Обязательно определите все свои переменные, прежде чем использовать их.Ниже приведен пример того, что не следует делать ...
if($_POST['password'] == $password) {
$is_authenticated = true;
}
if($is_authenticated) {
// ... code ...
}
Вы можете подумать, что единственный способ запустить ... код ... - это получить доступ к этому сценарию для того, чтобы пользовательправильный парольНа самом деле, если на сервере активирован register_globals, они могут просто передать значение get key =>, например .php?is_authenticated=1
, в сценарий запроса.
Это правильный (предварительно заданная переменная) способ использования переменной.
$is_authenticated = false;
if($_POST['password'] == $password) {
$is_authenticated = true;
}
if($is_authenticated) {
// ... code ...
}
Вам также необходимо изучить возможность атаки XSS, но это больше основано на контексте, в котором вы возвращаете эти данные.Это также отображается на вашем сайте?Это просто вернулось к клиенту?