小编t.p*_*tel的帖子

Django测试RequestFactory vs Client

我试图决定是否应该使用Django ClientRequestFactory测试我的观点.

我正在使用DjangoRESTFramework创建我的服务器,它非常简单,到目前为止:

class SimpleModelList(generics.ListCreateAPIView):
    """
    Retrieve list of all route_areas or create a new one.
    """
    queryset = SimpleModel.objects.all()
    serializer_class = SimpleModelSerializer
    filter_backends = (IsOwnerFilterBackend,)

    def perform_create(self, serializer):
        serializer.save(owner=self.request.user)
Run Code Online (Sandbox Code Playgroud)

什么是Django的测试之间的差异Client以及RequestFactory和哪种方法更适合用于测试REST服务器(如果有喜欢,除了一个较好的有什么区别)?

我应该用两者创建测试,以便为我的系统提供更好的覆盖吗?

django unit-testing django-views django-testing django-rest-framework

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

如何在Java中从USB令牌获取KeyStore

我已经有一个 SafeNet 5100 eToken,其中包含有效证书,我可以用它来访问我公司需要它的 Web 应用程序(多重身份验证)。

我正在创建一个桌面应用程序来访问该网站。我已经能够将网站的证书添加到TrustStore并将我的证书放入KeyStore.

到目前为止我得到的是:

System.setProperty("javax.net.ssl.trustStore", "U:\\Certificados\\efau.truestore");
System.setProperty("javax.net.ssl.trustStoreType", "jks");
System.setProperty("javax.net.ssl.trustStorePassword", "oiadad");

KeyManagerFactory kFac;
SSLContext sslContext;
SSLSocketFactory sockFactory = null;
KeyStore ks;

try {
    // load keystore present in windows and print aliases found (only one, so nextElement always prints same information (name of certificate inside usb token I want to open))
    ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
    ks.load(null, null);
    System.out.println(ks.aliases().nextElement());
    System.out.println(ks.aliases().nextElement());

    // try to load my certificate specifically from all certificates and passes necessary token …
Run Code Online (Sandbox Code Playgroud)

java ssl https keystore mscapi

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

使用双向身份验证时在Servlet中检索客户端证书?

我正在使用Java和Tomcat 7.0构建Web应用程序。

我在服务器端有一个自签名证书(以后会获得正式证书),并且已将客户端的根证书添加到其信任库中。我已经在3443端口上为https协议设置了必需的双向身份验证,并在server.xml文件中添加了以下几行:

<Connector port="3443" scheme="https" secure="true" SSLEnabled="true" 
        truststoreFile="server.keystore" truststorePass="keystore password" 
        keystoreFile="server.keystore" keystorePass="keystore password" 
        clientAuth="true" keyAlias="serverkey" 
        sslProtocol="TLS"/>
Run Code Online (Sandbox Code Playgroud)

这正在工作,我只能使用有效的证书访问系统。

我现在想知道如何在Servlet上获取该使用过的证书的属性,以便根据用户的证书登录。在此上下文中使用的所有证书将具有不同的CN,因此我想使用该证书来标识用户。

java authentication ssl tomcat client-certificates

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

CSRF安全策略,用于创建具有网站界面的Android应用程序

晚上好,

我正在创建一个带有基于Django的服务器的Android应用程序,以将此应用程序与存储信息的中央数据库连接.

在移动应用程序中阅读了这篇文章CSRF,其中提到应用程序是CSRF安全的,所以我不需要保护我的服务器免受这种攻击.

但是,如果我正在考虑(将来)扩展这个项目,那么用户可以使用Android应用程序和网站查看和修改他的信息.什么是最好的策略?

我应该在浏览器中保持单独的会话,区分网站用户和Android应用程序,并检查网站上的csrf令牌吗?或者我应该从这个服务器创建一个完全独立的网站,并只保护网站csrf?或者甚至,我应该保持csrf保护并在Android应用程序中对待它?

感谢您的帮助,

---编辑---

@petkostas建议我使用REST架构.我一直在阅读关于REST的内容,据我所知,它没有保留会话.

因此,如果REST是您的建议,我如何保持一些数据只对某些用户安全,更改架构以便我有会话,或者在每次请求时请求用户和用户登录(这看起来很糟糕)替代方案,因为我必须在每个请求中发送敏感信息(密码)?

django android csrf web

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

HTML 选择项目水平显示

早上好,

我正在开发一个 web 应用程序,我需要一个水平输入,让用户选择一个值,但单选按钮不是一个选项。我想过使用具有范围类型的输入,但这在 IE 8 或 9 中不受支持。有什么方法可以在 chrome 和 IE 中水平显示选择选项?

我的html代码是:

<select size="4">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

它目前看起来像这样:

选择

有没有办法让选项并排显示?我尝试向选项添加内联块显示,但没有任何变化。

- - 编辑 - -

我不想使用单选按钮,因为我正在使用 js 创建用户也可以选择的新项目,并且使用单选按钮我必须手动更改按钮名称。

多选

html css internet-explorer

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