问题列表 - 第26994页

保护网站管理部分的最佳做法是什么?

我想知道人们认为保护网站管理员部分的最佳做法,特别是从身份验证/访问角度来看.

当然有明显的事情,比如使用SSL和记录所有访问权限,但我想知道上面这些基本步骤的位置,人们会考虑设置这个栏.

例如:

  • 您是否只依赖于普通用户使用的相同身份验证机制?如果不是,那是什么?
  • 您是否在同一个"应用程序域"中运行"管理"部分?
  • 您采取了哪些措施来使管理部分未被发现?(或者你拒绝整个'默默无闻'的事情)

到目前为止,来自回答者的建议包括:

  • 在每个管理员密码检查中引入一个人为的服务器端暂停,以防止暴力攻击[开发者艺术]
  • 使用相同的数据库表为用户和管理员使用单独的登录页面(停止XSRF和会话窃取授予对管理区域的访问权限)[Thief Master]
  • 考虑还将管理员本机身份验证添加到管理区域(例如,通过.htaccess) [Thief Master]
  • 在多次失败的管理员登录尝试后,请考虑阻止用户IP [Thief Master]
  • 管理员登录尝试失败后添加验证码[Thief Master]
  • 为用户和管理员提供同样强大的机制(使用上述技术)(例如,不要特别对待管理员)[Lo'oris]
  • 考虑二级身份验证(例如客户端证书,智能卡,卡片空间等)[JoeGeeky]
  • 仅允许从可信IP /域进行访问,如果可能,将检查添加到基本HTTP管道(通过例如HttpModules).[JoeGeeky]
  • [ASP.NET]锁定IPrincipal和Principal(使它们不可变且不可枚举)[JoeGeeky]
  • 联合权利提升 - 例如,在升级任何管理员权限时向其他管理员发送电子邮件. [JoeGeeky]
  • 考虑管理员的细粒度权利 - 例如,而不是基于角色的权利,为每个管理员定义指示性行为的权利[JoeGeeky]
  • 限制管理员的创建 - 例如,管理员无法更改或创建其他管理员帐户.使用锁定的'superadmin'客户端.[JoeGeeky]
  • 考虑客户端SSL证书或RSA类型密钥卡(电子令牌)[Daniel Papasian]
  • 如果使用cookie进行身份验证,请为管理员和普通页面使用单独的cookie,例如将管理部分放在不同的域中.[Daniel Papasian]
  • 如果可行,请考虑将管理站点保留在公共互联网上的私有子网上.[约翰哈茨克]
  • 在网站的管理/正常使用情况之间移动时重新颁发身份验证/会话票据[Richard JP Le Guen]

security authentication

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

禁止在robots.txt中使用某个网址

我们在一段时间内在网站上实施了评级系统,其中包含指向脚本的链接.然而,由于网站上绝大多数评级为3/5,评级甚至超过1-5,我们开始怀疑搜索引擎爬虫等正在通过.使用的网址如下所示:

http://www.thesite.com/path/to/the/page/rate?uid=abcdefghijk&value=3
Run Code Online (Sandbox Code Playgroud)

当我们开始时,我们将以下内容添加到robots.txt中:

User-agent: *
Disallow: /rate
Run Code Online (Sandbox Code Playgroud)

这是不正确的还是谷歌机器人和其他人只是忽略我们的robots.txt?

robots.txt

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

JPA entitymanager删除操作不具备性能

当我尝试执行entityManager.remove(实例)时,基础JPA提供程序会在每个GroupUser实体上发出单独的删除操作.从性能角度来看,我认为这是不正确的,因为如果一个组有1000个用户,则会发出1001个调用来删除整个组和itr groupuser实体.

编写命名查询以删除groupuser表中的所有条目(例如从group_user中删除group_id =?)更有意义,因此我只需要进行2次调用即可删除该组.

@Entity
@Table(name = "tbl_group")

public class Group {

    @OneToMany(mappedBy = "group", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @Cascade(value = DELETE_ORPHAN)
    private Set<GroupUser> groupUsers = new HashSet<GroupUser>(0);
Run Code Online (Sandbox Code Playgroud)

performance hibernate jpa

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

OR,AND运算符

新手问题.如何计算公式A f B的值,其中f - 二元函数OR或AND?

c# boolean-operations

12
推荐指数
2
解决办法
15万
查看次数

PHP文件读取不起作用

在服务器上,我有some.php文件.我尝试使用file_get_content和读取内容fread.这两个都不读我的内容.

如果我尝试像yahoo.com这样的其他网址,这些功能正在阅读内容.为什么会这样?

$my_conetn =  file_get_contents("http://example.com");
echo $my_conetn;
Run Code Online (Sandbox Code Playgroud)

上面的代码段不起作用.

$handle = fopen($filename, "r");
$contents = fread($handle, 20);
echo $contents;
fclose($handle);
Run Code Online (Sandbox Code Playgroud)

上面的代码片段也不起作用.

如何检查我的服务器?是否锁定了文件读取操作?

编辑:我不确定,但它只是我的服务器文件无法读取.我可以阅读其他服务器链接.所以我联系我的托管服务提供商,然后我会回复你们这些人/ gals.

php

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

Android谷歌地图中的高效地图叠加

我想做以下事情,并且有几天坚持这些:

  1. 当我移动地图时,我试图绘制多段线(我已编码折线,但设法解码那些). 我发现的唯一解决方案是将Geopoints转换为屏幕坐标...如果我移动地图则不会移动.

  2. 我曾经HelloItemizedOverlay添加了大约150个标记,它变得非常慢.
    知道该怎么办?我在考虑线程(处理程序).

  3. 我正在寻找某种定时器功能,它定期执行一个给定的功能,比如每1分钟左右.

  4. 我也在寻找从所有标记/线清除谷歌地图的方法.

android google-maps google-maps-markers

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

Java中用于将Integer值转换为十六进制的最佳代码

我需要将整数值转换为十六进制.

我已经完成了一些逻辑,但我想要优化的解决方案.

编辑:对不起,我忘了发帖说我不允许使用任何内置功能.

java converter

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

如何在C#应用程序中使用*.lib文件?

所以我有一些.lib文件(像这样生成)如何在我的C#WPF应用程序中使用它?

.net c# wpf dll .lib

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

Tomcat工作但我无法访问http:// localhost:8080 /

当我从Windows托盘运行Tomcat时,它启动,我无法访问http://localhost:8080/Tomcat主页,但如果我从Eclipse运行它,它可以工作,我的应用程序工作,但我无法达到http://localhost:8080/...

怎么解决?还是正常的?

谢谢!

eclipse tomcat6

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

如何在手机中安装Android固件版本?

在开发应用程序时如何获得手机中安装的当前操作系统版本?

例如,

1.5,2.1等..

任何人都可以指导我如何获得它吗?

任何帮助都会得到满足.

android

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