小编j0k*_*j0k的帖子

检测诚实的网络爬虫

我想检测(在服务器端)哪些请求来自机器人.我现在不关心恶意机器人,只关注那些玩得很好的机器人.我见过一些主要涉及将用户代理字符串与'bot'等关键字匹配的方法.但这似乎很尴尬,不完整,不可维护.那么有没有人有更坚实的方法?如果没有,您是否拥有用于跟上所有友好用户代理的最新资源?

如果你很好奇:我不打算对任何搜索引擎政策做任何事情.我们有一个网站的部分,其中用户随机呈现一个页面的几个略有不同的版本之一.但是,如果检测到Web爬网程序,我们将始终为它们提供相同的版本,以使索引保持一致.

我也在使用Java,但我认为这种方法对于任何服务器端技术都是类似的.

c# bots web-crawler

36
推荐指数
4
解决办法
2万
查看次数

将数组限制为5个项目

我有一个代码,每次访问页面时都会向数组添加一个数字.数字存储在cookie中,稍后检索.

我想只保留数组中最近的5个数字.

如果阵列已满(5个项目)且必须添加新号码,则必须删除最旧的号码,并且必须保留最新的号码

这就是我所拥有的:

    $lastviewedarticles = array();

if (isset($_COOKIE["viewed_articles"]) ) {
  $lastviewedarticles = unserialize($_COOKIE["viewed_articles"]);
}

if (!in_array($articleid, $lastviewedarticles)){
    $lastviewedarticles[] = $articleid;
}
setcookie("viewed_articles", serialize($lastviewedarticles));
Run Code Online (Sandbox Code Playgroud)

php arrays

35
推荐指数
3
解决办法
6万
查看次数

添加活动类以与sf2和twig链接

以下简单代码:

<li><a href="{{ path('_list') }}">List</a></li>
Run Code Online (Sandbox Code Playgroud)

class="active"如果当前页面与_list路线匹配,是否有一种简单的方法来添加?

使用symfony2和twig的最新PR-Release作为模板引擎

php url symfony twig

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

使用symfony2进行Facebook + UserBundle身份验证

我正在尝试通过facebook或userbundle在symfony2上验证我的用户

这是我到目前为止所做的事情(虽然不是我想要的,但它有效):

firewalls:
    main:
        pattern: .*
        fos_facebook:
            app_url: "http://apps.facebook.com/appName/"
            server_url: "http://localhost/facebookApp/"
            login_path: /fblogin
            check_path: /fblogin_check
            default_target_path: /
            provider: my_fos_facebook_provider
        form_login:
            check_path: /login_check
        anonymous: true
        logout:
            handlers: ["fos_facebook.logout_handler"]
Run Code Online (Sandbox Code Playgroud)

该配置的问题是,当用户未登录时,他被重定向到/ login(form_login),而我希望他默认重定向到Facebook身份验证

我已经尝试过简单地删除form_login,但是如果我访问/登录(这是我希望用户在facebook外登录的方式),它就不知道提交登录表单的/ login_check路由

也许chain_provider会是一个解决方案?我也没有让它工作

php facebook symfony

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

wkhtmltopdf - libfontconfig.so.1:无法打开共享对象文件

我正在尝试在我的debian linux服务器上安装wkhtmltopdf,这样我就可以测试它是否从url创建了一个pdf.

我已经下载了wkhtmltopdf-0.9.9-static-i386.tar.bz2并将其内容解压缩到一个目录中.

当我尝试测试它是否正常工作时,我遇到了下一个错误:

/ usr/local/bin #wkhtmltopdf http://google.com google.pdf wkhtmltopdf:加载共享库时出错:libfontconfig.so.1:无法打开共享对象文件:没有这样的文件或目录

我正在尝试在我的symfony2上安装https://github.com/KnpLabs/KnpSnappyBundle,我想我需要先在我的linux上安装wkhtmltopdf.我对吗?

php linux symfony

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

如何在Symfony 2.2中使用"render"在Twig中插入Controller?

我正在将我的项目从Symfony 2.0.22升级到2.2.0并查看一些更改,但我已被阻止:

我想渲染(如在Sf 2.0.X中)带有控制器的标题,"渲染"树枝方法对我不起作用.他们的错误是:

在"OSSiteBundle:Index:index.html.twig"中呈现模板("找不到"GET索引:标题""的路径")期间抛出异常.

这是实际的渲染方法:

{#src/OS/SiteBundle/Resources/views/layout.html.twig#}

...

{%render"OSSiteBundle:Index:header"with {'thisid':block('thisid'),...}%}

我试过了 :

{{ render('OSSiteBundle:Index:header' , {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }}

{{ include("OSSiteBundle:Index:header.html.twig", {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }}
Run Code Online (Sandbox Code Playgroud)

=>最后一个工作但控制器没有以这种方式进行校对

我甚至试过了一个带有routing.yml路径的渲染......我没有其他想法请帮助我!

symfony twig symfony-2.2

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

在c ++中激活RTTI

在使用unix时,有人可以告诉我如何在c ++中激活RTTI.我听说它可以被禁用和启用.在我的unix环境中,我如何检查RTTI是启用还是禁用?

aCC在HPUX上使用编译器.

c++ hp-ux rtti acc

33
推荐指数
4
解决办法
3万
查看次数

使用可选参数在.yml中进行翻译

我想my_translation用可选参数进行翻译.例如:

> I18n.t('my_translation')
=> "This is my translation"
> I18n.t('my_translation', parameter: 1)
=> "This is my translation with an optional parameter which value is 1"
Run Code Online (Sandbox Code Playgroud)

这可能吗?

yaml ruby-on-rails internationalization

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

PHP PDO编写的语句

今天我被告知我应该在我的应用程序中使用PDO和准备好的语句.虽然我了解其中的好处,但我很难理解如何将它们应用到我的工作流程中.除了它使代码更清晰的事实之外,我是否应该拥有一个特定的数据库类,其中包含我所有准备好的语句,或者我应该在每次运行查询时创建一个?我发现很难理解何时应该使用标准PDO查询以及何时应该使用预准备语句.任何示例,提示或教程链接将不胜感激.

php mysql pdo

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

如何在Symfony 2中的login_check之后禁用重定向

我需要在登录检查后禁用重定向,因为我只需要获取登录成功与否.提交/ login_check后url给我正确的数据,但保持重定向到/ login(失败时).
之后/ login是空白的.
我正在尝试使用extjs 4设置登录表单,所以我需要通过ajax post请求来验证.login_check应该进行身份验证,创建用户会话并返回它是成功还是失败,但不在任何地方转发.

我的login.html.twig看起来像:

{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
    { success:true }
{% else %}
    { success: false }
{% endif %}
Run Code Online (Sandbox Code Playgroud)

并在security.yml:

firewalls:
    main:
        form_login:
            provider: fos_userbundle
            failure_path:  null
            failure_forward: false
Run Code Online (Sandbox Code Playgroud)

php symfony

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