相关疑难解决方法(0)

我应该在PHP中注意哪些安全问题

我刚开始学习PHP,我一直在ASP.Net开发Web应用程序很长一段时间.我想知道是否有任何PHP特定的安全错误,我应该注意.

所以,我的问题是每个PHP开发人员应该知道的最重要的安全提示是什么?

每个答案请保持一个提示,以便人们可以有效地上/下投票.

php security

34
推荐指数
7
解决办法
1万
查看次数

php检查变量是否为整数

有没有更好的方法来做到这一点?

if( $_POST['id'] != (integer)$_POST['id'] )
    echo 'not a integer';
Run Code Online (Sandbox Code Playgroud)

我试过了

if( !is_int($_POST['id']) )
Run Code Online (Sandbox Code Playgroud)

is_int()由于某种原因不起作用.

我的表格看起来像这样

<form method="post">
   <input type="text" name="id">
</form>
Run Code Online (Sandbox Code Playgroud)

我研究了is_int(),似乎如果

is_int('23'); // would return false (not what I want)
is_int(23);   // would return true
Run Code Online (Sandbox Code Playgroud)

我也试过了 is_numeric()

is_numeric('23'); // return true
is_numeric(23); // return true
is_numeric('23.3'); // also returns true (not what I want)
Run Code Online (Sandbox Code Playgroud)

似乎这样做的唯一方法是: [这是一种不好的方式,不要这样做,请参阅下面的注释]

if( '23' == (integer)'23' ) // return true
if( 23 == (integer)23 ) // return true
if( 23.3 …
Run Code Online (Sandbox Code Playgroud)

html php validation

34
推荐指数
3
解决办法
5万
查看次数

如何检查$ _GET数组中的变量是否为整数?

我有一个这样的页面:

http://sitename/gallery.php?page=2

它底部有分页链接,我们可以浏览它们.每次点击页码时,它都会发送一个参数page = 1page = 2的GET请求,依此类推......

当我将这些值存储到$pageteh $_GET变量时,它是一个字符串值.我可以使用(int)这样的方法将它转换为整数:

if(!empty($_GET['page'])){
       $page = (int)$_GET['page'];
       echo "Page Number: ".$page;
}
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能确保传递的值只是一个整数而不是其他废话?

php validation get

3
推荐指数
1
解决办法
6793
查看次数

filter_var(FILTER_VALIDATE_INT) 和 is_int 有什么区别?

我在许多应用程序中使用过这两个函数来检查和验证整数,如下所示

$foo = $bar;

if (filter_var($foo,FILTER_VALIDATE_INT)) {
// do something
}
Run Code Online (Sandbox Code Playgroud)

if (is_int($foo)) {
 // do something
}
Run Code Online (Sandbox Code Playgroud)

两者都工作得很好,但我想知道两者在速度和结果方面的区别,因为 PHP 是一种棘手的语言,在似乎做同样事情的函数之间存在差异,例如mt_randrand

php random

0
推荐指数
1
解决办法
1458
查看次数

标签 统计

php ×4

validation ×2

get ×1

html ×1

random ×1

security ×1