фильтрация вводимых данных на php

C
На сайте с 16.04.2009
Offline
7
2216

Вот уже второй день пытаюсь найти действительно безопасную фильтрацию данных ввода на php.

Остановился на таком варианте. Посмотрите, действительно ли безопасно?

function inputclean($input, $sql=false) {

$input = htmlentities($input, ENT_QUOTES, 'UTF-8');

// мнемонизировали строку.

if(get_magic_quotes_gpc ())

{

$input = stripslashes ($input);

// убрали лишнее теперь экранирование.

}

if ($sql)

{

$input = mysql_real_escape_string ($input);

// если нужен MySQL-запрос, то делаем соответствующую очистку.

// Подключение к базе должно быть активным!

}

$input = strip_tags($input);

//режем теги.

$input=str_replace ("\n"," ", $input);

$input=str_replace ("\r","", $input);

//обрабатываем переводы строки.

return $input;

}

мир вам и счастье
C
На сайте с 16.04.2009
Offline
7
#2

спасибо, сейчас посмотрю:)

creker добавил 04.07.2009 в 12:40

как на счет такого?

<form action="test.php" method="post">

<table>

<tr>

<td>Логин:</td>

<td><input type="text" name="login" /></td>

</tr>

<tr>

<td>Пароль:</td>

<td><input type="password" name="password" /></td>

</tr>

<tr>

<td></td>

<td><input type="submit" value="Войти" /></td>

<input type=hidden name=session_id value='.session_id().'>

</tr>

</table>

</form>

<?php

//базовая очистка строки. Удаляет символы <>?

$auth_login = filter_var($_POST['login'], FILTER_SANITIZE_STRING);

$auth_pass = filter_var($_POST['password'], FILTER_SANITIZE_STRING);

// убираем символы <>();:,\”

$auth_login = filter_var($auth_login, FILTER_SANITIZE_EMAIL);

$auth_pass = filter_var($auth_pass, FILTER_SANITIZE_EMAIL);

//кодируем символы `~!@#$%^&*()=+[{]};:'".?/| в %hex

$auth_login = filter_var($auth_login, FILTER_SANITIZE_ENCODED);

$auth_pass = filter_var($auth_pass, FILTER_SANITIZE_ENCODED);

echo $auth_login;

echo $auth_pass;

?>

[Удален]
#3

казалось бы интересная функция - filter_var, если бы не "$ pecl install filter" ... думал уже в закладки добавить, еще удивился "почему я о ней не слышал" ..

C
На сайте с 16.04.2009
Offline
7
#4
bearman:
казалось бы интересная функция - filter_var, если бы не "$ pecl install filter" ... думал уже в закладки добавить, еще удивился "почему я о ней не слышал" ..

а в чем проблема? сейчас практически любой хостинг поддерживает php 5

ewg777
На сайте с 04.06.2007
Offline
225
#5
dspartner:
у Медведева особый хостинг😂

Как всегда блестнули... своим слабоумие.

[Удален]
#6
creker:
а в чем проблема? сейчас практически любой хостинг поддерживает php 5

вы не умен видимо и не отличаете пхп5 от пекла.

M
На сайте с 21.07.2005
Offline
70
#7

bearman, для тех, кто в танке, обьясните, пожалуйста, попроще подводные камни или что вы имели в виду?

[Удален]
#8
Mitos:
bearman, для тех, кто в танке, обьясните, пожалуйста, попроще подводные камни или что вы имели в виду?

то, что никто вам не даст на тот же шаред хостинг поставить свои пекл разрешения для пхп. версия пхп и пекл нуникак не связаны.

http://php.net/

http://pecl.php.net/

у них даже сайты разные ..

FeoOne
На сайте с 27.12.2008
Offline
32
#9

preg_match('/^[a-zA-Z0-9_]{3,32}$/', $name)

preg_match('/^[a-z0-9\.\-]{1,16}@[a-z0-9\.\-]{1,16}\.[a-z]{2,4}$/i', $mail)

etc

Все вводимые данные проверяю регулярками

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий